Convert spreadsheet to coffeescript

Why?  Why not.  It does make it 20% smaller and hopefully a bit easier
to work with going forward, but mainly to refresh for adding assets.
Merge branch 'master' into spreadsheet
Start adding assets to spreadsheet

Only minimal display so far, no editing.  The main question is how to
populate slot.assets.
Merge branch 'master' into spreadsheet

Conflicts:
	app/assets/volume/spreadsheet.js -> spreadsheet.coffee
Started taking apart SlotAsset

Decided to take apart Slot/Context first
Remove context from Slot, just store local consent

WIP, broken
WIP: start taking apart SlotAsset

Maybe will simplify the new SlotAsset further by removing Slot
WIP: sorta done AssetSlot/SlotAsset

Now fixing things, Comment, etc.
Slot and SlotAsset refactorization: It builds!

Untested
Merge remote-tracking branch 'github/master' into spreadsheet

Conflicts:
	app/assets/volume/spreadsheet.js
Minor slot/asset model fixes, start updating js
WIP: going back towards the old way, now with AssetSlot
Add NumericRangeType and Numeric[Offset] for more range orderings
Restore SlotContext and Excerpt

Compiles, untested
Minor additions to macros, implicit ops

Including |> (Thrush) from scalaz
Joiners can be Selectors

Improve SQL syntax and interface with Joiners (hopefully)
On second thought, Joiner can just become Selector
Fix ContextSlot.rowContainer, taking advantage of Joiner
js AssetSlot models closer to working
Authorize cleanups and multi-joins

Also rename dbrary/columns to select