[#1635] user_dictize() don't crash if no context['user']

Normally 'user' would always be in context (and would be None if no user
was logged in) but if user_dictize() was called via an internal function
calling a logic action function via get_action(), and that internal
function neglected to put 'user': None in context, then user_dictize()
would raise KeyError. (An example of this is the
get_and_send_notifications_for_all_users() that I'm about to commit
after this.)

May as well just behave as if 'user': None was in context instead.
[#1635] Remove an unused variable
[#1635] Initial implementation of email notifications for activity streams

ckan/model/user.py
  Added @classmethod all()

ckan/model/dashboard.py
  Added last_activity_stream_email_notification and @classmethods
  get_last_activity_stream_email_notification,
  update_last_activity_stream_email_notification

logic/action/get.py:
 Added dashboard_email_notification_last_sent and get_email_notifications
 actions. These may not really need to be action functions as they may only be
 needed internally.

ckan/lib/email_notifications.py
  This is the email notifier job meant to be run by paster (but there's no
  paster command for it yet)

ckan/tests/lib/test_email_notifications.py
  The beginning of some tests
Merge branch 'master' of github.com:okfn/ckan into 1635-feature-email-notifications-for-activity-streams

Conflicts:
	ckan/public/base/less/iehacks.less
[#1635] Fix up the first couple of tests, add in plan for some more
[#1635] Implement a couple more tests
Merge branch 'master' of github.com:okfn/ckan into 1635-feature-email-notifications-for-activity-streams
[#1635] Delete unused action function
Merge branch 'master' of github.com:okfn/ckan into 1635-feature-email-notifications-for-activity-streams
[#1635] Rename dashboard_mark_activities_old

Change long name dashboard_mark_all_new_activities_as_old ->
dashboard_mark_activities_old, also move it from get.py to update.py where it
belongs.
[#1635] Remove two unwanted action functions

Remove dashboard_email_notification_last_sent and
dashboard_update_email_notification_last_sent logic functions, instead access
the model functions  directly from the lib.

We're not supposed to access the model from the lib, but I don't want to expose
these function as action functions either because they're only needed by this
one lib, I don't want to expose them in the API.
[#1635] Shorten a couple of really long names
[#1635] Remove unnecessary @classmethods from dashboard model

This moves some logic out of the dashboard model and into the lib, which is
probably where it belongs as that's where the rest of the relevant logic is,
and overall this makes the code shorter as well.
[#1635] Small email notifications tests refactoring

Save some lines
[#1635] Don't send emails for activities already seen on dashboard
Merge branch 'master' of github.com:okfn/ckan into 1635-feature-email-notifications-for-activity-streams
Merge branch 'master' of github.com:okfn/ckan into 1635-feature-email-notifications-for-activity-streams
Merge branch 'master' of github.com:okfn/ckan into 1635-feature-email-notifications-for-activity-streams
[#1635] Fix a broken import
[#1635] Update an outdated test