Introducing folders: Project [--> Folder] [--> Folder] ... [--> Folder] --> Document

A folder conceptually corresponds to a folder in a file system tree structure and thus has a parent folder (except the root folder) and 0 or more child folders. As indicated above, folders are optional, as documents can be (and typically are) created directly under a project.

Also:
* Modified models, routes and tests accordingly
* Implemented document.open()
* Removed ability to get global list of documents (listing contents of a project, folders and documents, to follow).
* Changed id schema types to built-in mongoose object id type.
Merge branch 'master' of https://github.com/Scripler/scripler

Conflicts:
	routes/document.js

Also, fixed HTTP response codes for document.