Adding (basic) Graph Traversal and User Submissions

This PR contains the beginning of the graph traversal methods.

 * The `Vertex` prototype has been added, which will give us a base class for performing graph operations
    * Can retrieve a vertex based on it's UUID (`GET /graph/:uuid`)
    * Can retrieve a collection of related vertices (`GET /graph/:uuid/:type`)
 * The `User` prototype has been added, which represents a user vertex
    * Can retrieve submissions (`GET /graph/:user/submissions`)
 * The `Submission` prototype has been added in code, but not currently used (as no write operations are possible with the API atm)
 * The documentation in the respective source files has been updated
 * `README.md` has been updated with API docs as well
 * Unit tests for the new features have been added