Major refactoring taking place

Controllers broken apart
Access, browse, groups, and nims are new controllers.  The former 3 inherit
from nims - common functionality is kept there. Root controller modified to
wire up the new controllers. Javascript also reworked to properly reference the
new controllers.

Model work being completed. find_all_for_user method appended to Experiment,
Session, and Epoch models. May rename it... find_all_by_user? That'd be more
coherent with other conventions, such as those found in rails. I'm a bit burnt
out at this point.

Work still needs to be done to clean up the get_[fill in model class here]
methods so prevalent in the nims controller. Aforementioned model methods were
created for this purpose, and will hopefully serve it (and future purposes)
well.
Model functionality beefed up

Users now have get_sessions, get_experiments, and get_epochs methods that
return dictionaries containing NamedTuple types (from
sqlalchemy.util._collections) that have the type (e.g. .Experiment, .Session)
and access privilege (.AccessPrivilege) fields.

Unless specified otherwise, the trash flag is used to determine the default
behavior.

Super users get back everything every time, and have 'None' in place of their
access privilege for things they are receiving access to only by virtue of
being superusers.
Cleaned up controller code more, added helper functions to model
Merge branch 'master' into refactoring
major refactoring of js scrolltable classes - using mixins and abstaining from jquery where relevant
forgot to include my test file, continuing dev on this
Scrolltable refactoring

*Mixins placed into their own folder.
*Changed module definitions for cleaner imports in main.js.
*Selectable seems to be fully functional.
*Still need to implement drag and drop - hopefully ports easily from prior
module.
Scrolltable mixins

*Added keyboard support to single tables, including shift+up/down
*Improved some of the selectable functions (toggleSelect has an optional forced
value)
*Formatting improvements - outermost div snaps to innermost size
drilldown manager improving
Scrolltable fixes

Mixins were sharing data (all attached to prototype and not the instance), so I
created init methods for each mixin.

Got the manager improved and working with a dummy generator function and the
test html file.
Manager changes

Clicking on a table that has a selected row will clean up nested tables, but
call select on the focused table again to ensure if it has a single selected
row it gets populated in the nested table.
more tweaks to filesystem style navigation
Scrolltables Fixed

Draggable shit starting to get implemented. Got rid of callbacks on focus, and
switched to click. Think it should fix some weird issues I was running into -
namely, I require focus to be able to use keyboard events to navigate up and
down within a table.

Seem to be able to drag elements around, and navigate with keyboard very
successfully.
overflow on body set to hidden to get rid of scrollbar on drag
handling fast user input with delayed fn calls
loading divs working in tables now
loading only shows when timeout has been long enough
Navigation causes nested tables to clear out

Matching Apple Finder behavior more closely - when you navigate about, the
nested table is cleared. That is to say, if you start on row 1, if you quickly
page through rows you won't continue to see row 1 data until you've settled on
a row. Instead, it will be cleared out immediately and only repopulate once
you've settled on a row.
working on folding the fnality into the site:
pushing table changes - trying to get columns aligned properly and i appear to have succeeded