Adding snapshot model and api

This diff creates the bare models and api for interacting with snapshots.

The Snapshot model contains the url, status, build, and associated project.

The API:
/projects/<project_id>/snapshots/
GET: get all snapshots for the project
POST: create a new snapshot for the project

/projects/<project_id>/options/
POST: can additionally update 'snapshot.current' option (to a snapshot id).

/snapshots/<snapshot_id>/
GET: get the snapshot details
POST: update the snapshot details (url and/or status). Can also set the current snapshot here.