feat(*): redesign of sticky dashboard feature

Removed dashboardChangeMonitor that sent the dashboardSwitchedEvent
message based on a kludgy
regex of $location.path(). Replaced mechanism with ui-router's
$state.go and $stateChangeSuccess messages

Removed the userSettings modal. Replaced with a new 'per-dashboard'
modal for modification of a dashboard's name and layout

Removed the grid/desktop layout setting from the application toolbar to
the edit dashboard modal, since users should not be switching frequently
between the two layouts (state gets reset each time)

Removed the concept of nonsticky dashboards - all dashboards are now
sticky with a max of 10 boards

Prevent user from manually entering a url using a mismatch layout type
for the current dashboard (if a dashboard is set to be grid and you
manually use the desktop url, you will be redirected back to grid
layout)

Fixed bug in appToolbar that was saving an invalid object (one with a
method) to IWC, thus breaking IWC