Add a User model and views.

We're using scrypt to hash user passwords in production, but since
this is a bit hard to compile on windows and there's no pre-built
package available, we also provide a small shim that just uses a
single iteration of sha256. This will be unavailable in production.

This includes a lot of other modules as well, to work with users,
permissions and authentication.

marvin.utils
	Collection of stuff that doesn't nicely fit in any other
	module, like some authentication stuff and before_request
	handlers. Some more things might be moved into this module
	from marvin\__init__.py once I get to clean up a bit.

marvin.permissions
	Permissions for stuff. For now only a UserNeed is added,
	so that views can be restricted on a per-user basis.
	More stuff that can be added here later is ownership of
	streams, collaborator status, and the likes.