Admin UI Improvements

- Create a left hand navigation
    - Configuration
    - Tenants and apps
    - Users
- Implement app configuration
- Implement the config API
- Test the config API
I prefer using `tenants.shift()` to handle each item when you do the loop. Instead of checking `tenantsToDo` you can just do `tenants.length()`. This makes the `tenantsToDo` and `tenantsDone` variables redundant. 

```
someFunc() {

    // Pick the first item from the collection
    var tenant = tenants.shift();

    // Do some recursive stuff if there are still tenants left
    if (tenants.length) {
        return someFunc();
    }

    // Finish the loop and have a beer it there are no tenants left
    callback();
};

// Start the loop
someFunc();
```