ash: Move shelf alignment and auto-hide calls from Shell to Shelf

Shelf (aka ShelfController) should be the single point of access for alignment
and auto-hide state.

* Eliminate Shell::GetShelfAlignment and SetShelfAlignment
* Eliminate Shell::GetShelfAutoHideBehavior and SetShelfAutoHideBehavior
* Convert Shelf::GetAutoHideBehavior() to auto_hide_behavior()
* Use Shelf::ForPrimaryDisplay() in unit tests to avoid accessing the
  RootWindowController.

BUG=615502
TEST=existing ash_unittests and unit_tests

Review-Url: https://codereview.chromium.org/2020623004
Cr-Commit-Position: refs/heads/master@{#396994}
diff --git a/ash/root_window_controller.cc b/ash/root_window_controller.cc
index bf980dcc2..8135b83 100644
--- a/ash/root_window_controller.cc
+++ b/ash/root_window_controller.cc
@@ -432,6 +432,11 @@
   shelf_widget_->PostCreateShelf();
 }
 
+Shelf* RootWindowController::GetShelf() const {
+  // TODO(jamescook): Shelf should be owned by this class, not by ShelfWidget.
+  return shelf_widget_->shelf();
+}
+
 void RootWindowController::UpdateAfterLoginStatusChange(
     user::LoginStatus status) {
   if (status != user::LOGGED_IN_NONE)