Make access check function for dashboard easier to customise

* It can now be specified in OSCAR_DASHBOARD_DEFAULT_ACCESS_FUNCTION
* nav.py and menu.py were split up so that Node can be dynamically
  loaded and hence overridden

I recently needed to alter the access function and realised it's not as
easy as I thought.