Initial test and REST client framework

This PR contains a rough outline of:
 * the test framework
 * the REST client framework
 * linting
Yeah, I was flip-flopping for a bit. I threw them all in `opts`, mainly because I'm not sure yet which ones are mandatory (is `email` required, for example?). I'm not entirely happy with `tenantId` being a second parameter which is *optional* but not in the `options`.

As the REST endpoint should probably only be used for creating accounts hooked up with local authentication, what about the following:
```javascript
client.user.create = function(username, password, displayName, email, opts, callback) {
    opts = opts || {};
    var data = {
        'username': username,
        'password': password,
        'displayName': displayName, 
        'email': email,
        'emailPreference': opts.emailPreference
        'tenantId': opts.tenantId
    };
    client._request('/api/users', 'POST', data, null, callback);
}
```