Allow types to have custom prefixes.

This allows us to customize where each type is looked up.

For example if I have the following types:

* human
* dog
* cat
* couch

And I wanted them to resolve like:

* human named 'Rob' - 'humans/rob'
* dog named 'Lucy' - 'pets/dogs/lucy'
* cat named 'Kisses' - 'pets/cats/kisses'
* couch named 'Ethel' - 'furniture/couches/ethel'
* EVERYTHING else under 'app/'

I could do the following:

```javascript Resolver.create({
 namespace: {
   modulePrefix: 'app',
   dogPrefix: 'pets',
   humanPrefix: 'humans',
   catPrefix: 'pets'
   couchPrefix: 'furniture'
 }
});
```

(Please note all names are real, no making fun...)

-----

This builds off of #14 which adds some real tests.