holoviews refactor

This branch represents a major refactoring of DataViews as we prepare to release it under its new name holoviews. This refactoring unifies all current Views under the Layer class, eliminating DataLayer and SheetLayer. It unifies all Overlays into the baseclass Overlay, eliminating duplicate View and plotting classes. Finally it unifies Stacks into HoloMap and LayerMap (this may still be renamed), including all the sample, reduce, normalize, collate and histogram methods, which should now if possible be implemented on all Layer types.

A number of things still remain to be done, here is my non exhaustive list:

* Unify legends using format strings and constant dimensions
* Unify CoordinateGrid and DataGrid into Grid
* Display constant dimensions in title when in GridLayout
* Implement Grid nearest item indexing
* Implement meshgrid or similar method on SheetCoordinateSystem to perform grid_sampling
* Implement normalize, histogram methods for all View types (at minimum NotImplementedErrors)
* Implement .layout method on Grid to turn a Grid into a GridLayout and insert constant dimensions into each element.
* Implement type checking for collation
* Implement Overlay type checking (e.g. Table only with Tables, 1D and 2D don't mix etc.)
* Fix docstrings
* Fix tests
* Simplify ViewOperation once Stack and Grid Types are unified.
* Perform final renaming and decide on structuring the modules. 
* Change other packages to reflect changes here. 
* Update all the tests.

What works:

* All the old Tutorials have been updated and are working fully.
* Sampling, reducing, collating all work (although no grid_sample).
I forgot why we did this as well. It's because the attributes are evaluated on import and by this point LayerMap hasn't been defined. The good news is that we can get rid of stack_type altogether because all Views share LayerMap as their Stack or rather Map type now.