RethinkDB Implementation for OAuth Models

The pull requests includes a sample implementation of RethinkDB.  The code has been ran against the created tests and all pass.

In order to run the tests against the RethinkDB implementation follow these steps:

* Modify package.json to include rethinkdb as a dependency: ``` "rethinkdb": "*"```
* Modify the first line of ```test/server/app.js``` to ```var TYPE = 'rethinkdb';```
* Run ```npm install```
* Run ```npm test```

The first few runs will fail.  This is because the current test app setup does not allow the data to initialize the DB before the test cases begin to execute.  I'll point this out in a comment in the PR.  After a few runs the tests will pass because all of the test data will have loaded.
This is where I ended up putting the code to initialize the DB, tables, and test data.  As you can see nothing forces it to wait and wasn't sure if you would want the test app modified to provide a hook to wait for initialization.