Engine: Dashboard: fix error related to unserialized preferences

With katello running as an engine, we've seen multiple cases
where an error occurs when loading the dashboard.  It appears
that under certain circumstances the preferences are not being
unserialized.  This change will force unserialization, when
necessary.

When it occurs, the stack for the error looks similar to:

no member 'dashboard' in struct

activesupport (3.2.14) lib/active_support/core_ext/object/try.rb:36:in `[]'
activesupport (3.2.14) lib/active_support/core_ext/object/try.rb:36:in `try'
/home/bbucking/github/katello/app/lib/katello/dashboard/layout.rb:41:in `setup_layout'
/home/bbucking/github/katello/app/lib/katello/dashboard/layout.rb:37:in `initialize'
/home/bbucking/github/katello/app/helpers/katello/dashboard_helper.rb:188:in `new'
/home/bbucking/github/katello/app/helpers/katello/dashboard_helper.rb:188:in `dashboard_layout'
/home/bbucking/github/katello/app/helpers/katello/dashboard_helper.rb:193:in `render_dashboard'
/home/bbucking/github/katello/app/views/katello/dashboard/index.html.haml:14:in

A similar issue was reported in:
http://stackoverflow.com/questions/15588643/rails-3-unserialize-returns-only-activerecordattributemethodsserialization
Engine: fixes #3466 - change Katello logout to Foreman logout path
Merge pull request #3336 from isratrade/kt_logout

Engine: fixes #3466 - change Katello logout to Foreman logout path
Engine: fixes #3466 - remove user authentication / password
Engine: fixes #3466 - remove user session
Engine: fixes #3466 - change root path :to => dashboard#index
Merge pull request #3326 from isratrade/3346_remove_auth

Engine: fixes #3466 - remove user authentication / password / user sessions, change logout link
Engine: Fixing content view definition model tests, refs #3585
Engine: fixes #3527 - isolate_namespace Katello
Merge pull request #3292 from bbuckingham/engine-dashboard-fix

Engine: Dashboard: fix error related to unserialized preferences
Merge pull request #3332 from daviddavis/engine-fix-cvd-test

Engine: Content View Definition model tests
Merge pull request #3315 from isratrade/engine-pr9

Engine: fixes #3527 - isolate_namespace Katello
Engine: Fixing broken link from migration to isolated engine
Merge pull request #3340 from daviddavis/temp/20131107162322

Engine: Fixing broken link from migration to isolated engine
Engine: Fixing route indentation after isolated change
Merge pull request #3345 from daviddavis/temp/20131108101911

Engine: Fixing route indentation after isolated change
Engine: Fixing authorization model tests, refs #3585
Merge pull request #3344 from daviddavis/engine-auth-tests

Engine: Fixing the authorization model tests
Engine: Fixes #3586 - Updates spec model tests and splits the
spec and test runs out again to prevent issues with the disable_glue_layers
functionality in the test/ tests.
Engine: UI: adding back the org aspect of a user's session

The code for the katello user's session was previously removed, since
the sessions (e.g. create/destroy) will be managed by the core app;
however, the session also included the ability to set the user's current
org.

Since orgs are currently handled differently between the core
app and the katello engine, this commit will add back the management
of the user's current katello org.  The goal in the future will be
to have a single org representation.