Have /ghost use its own express instance

closes #1961
- Refactor admin to use its own express instance
- Refactor middlewares to work with /ghost mounted admin express instance

----

**Notes:** 

 1. This is a solution to #1961. 
 2. Having /ghost use its own express instance is a good start, but the server side code should definitely be refactored in the near future. (/cc @hswolff)
 3. This change does not seem to have an impact on overall memory usage. I tested both current master and my changes and there's no noticeable effect on the memory footprint.
These lines between middleware and controller handlers are blurring...

As perhaps a little clearer could we move this to:

```
router.use(middleware.redirectToSetup);
router.use(admin.index);
```

Just a thought, mostly bike-shedding.  Don't really care either way.