Modify directory scanning such that directory paths dictate routes.

Previously, directory scanning merely loaded each file. Now when a directory is scanned, each directory and file is used in the creation of the route for a particular file. For example:
```
routes
 |-user
   |-create.js
   |-list.js 
```

will result in routes
```
/user/create
/user/list
```

while the implementation need only contain:
```javascript
'use strict';
module.exports = function (router) {
    router.get('/', function (req, res) {
        res.send('ok');
    });
};
```

Additionally, this PR is a minor refactor with rewritten, cleaner tests.