Merge remote-tracking branch 'github/master' into dev/dj-searchbox

* github/master:
  Wesocket transport selected only after successful handshake, until then fallback to http
  Fixes getview by creating two fields .. this needs a review
WIP
Merge remote-tracking branch 'github/master' into dev/dj-searchbox

* github/master:
  No need to delet if session not found
  A sesssion's 'hideAnnotations' field should be a bool
  Use absolute paths for tiles in session editor
  Don't use a leading dot in URLs
  Create all model mutable default values using a callable
  Make 'Image.dimensions' a required field
  Fix a bug in Facebook login
  Stack and comparison do not consider canvas when webGL is not available.
  Use canvas by default (not webGL)
Directives magic
Merge remote-tracking branch 'github/master' into dev/dj-searchbox

* github/master: (23 commits)
  Object Ids instead of strings
  Add new authorization functionality with Flask-Principle
  Better stack interpolation, and correcting errors
  Disable validation of Session Annotations until all code supports it
  Properly fix Facebook group fetching
  Adding documentation on how to build submodules
  Improved build instructions for fresh clone of repository
  Fix the name of an Image field to match the model
  Upgrade Flask-Admin to bump minor version
  Remove Celery from requirements
  Return 404 if tile not found
  Fix for loading ptif files with correct tile_size
  Remove 'Image.extents' field
  Clean some trailing whitespace
  Remove commented stack PDB debugging statements
  Fix Python style issues in glviewer
  Don't provide a default value for image dimensions
  Save tile size with changed name
  Added pyzmq as the dependency
  Adding documentation on how to build submodules
  ...
Swap is working, and a start on the lasso widget
Merge branch 'stack-swap'

* stack-swap:
  Swap is working, and a start on the lasso widget
Minor fix, if saved stack sessions are a different length than original
Merge branch 'stack-swap'

* stack-swap:
  Minor fix, if saved stack sessions are a different length than original
Silence debugging output from ptiff
Clean style and Pythonify code of PtiffTileStore
Fix a bug where ptiff views were not being removed from sessions
Fix inappropriate log levels in PtiffTileStore
Fix misspelling of "Philips"
Merge branch 'ptiff_clean'

* ptiff_clean:
  Fix misspelling of "Philips"
  Fix inappropriate log levels in PtiffTileStore
  Fix a bug where ptiff views were not being removed from sessions
  Clean style and Pythonify code of PtiffTileStore
  Silence debugging output from ptiff
Fully refactor Database models to ImageStore

The view code still uses the old class names, but these are exported
for compatability during the transition.
Make to_pymongo return a raw object only optionally

This allows the MongoProxy wrapper, which handles AutoReconnect exceptions,
to be used anywhere except in a GridFS.
Merge branch 'database_imagestore'

* database_imagestore:
  Make to_pymongo return a raw object only optionally
  Fully refactor Database models to ImageStore
Make MultipleDatabaseImageStore a direct part of the inheritance hierarchy
Make 'get_tile' an abstract member of ImageStore

Rename some variables in PtiffImageStore.get_tile to be more readable.