Restore hash

Restore hash functionality in builder. (fixes #169)
Restore visual behaviour  when selecting modules. (fixes #171)

Ok, this went a big pull request.

Basically it:
- redirects `core/5jhj546oh54uhyfld98` to `core/buildr/5jhj546oh54uhyfld98` - same for More.
- restores the colour difference between chosen module and dependency
- adds back the hash save/load functionality
- adds some files under `tests/database/` which are usable for testing this and eventually future specs. (Maybe a fallback to those files should be added for when running the site locally/in development) 
- adds a link with the new hash when the checkbox asking for it is checked

Thank you @timwienk for help on this

Wouldn't it be better if you create the functions where the `paths` thing is enclosed? Now it's in some global variable that gets mutated along the way... Probably the cleanest way is to create a JS Class / constructor thingy, such that this exported function is:

```js
module.exports = function(paths){
  var db = new BuilderDatabase(paths);
  return {load: db.load.bind(db), save: db.save.bind(db)};
};
```

As prime is still a dependency, you could use that, or just go the vanilla JS way, as you don't need anything special like inheritance anyway.