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/builder/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

I am sending a Request to check if there is a hash to the custom build. The server either finds a match and return that hash or makes a new insert. 
It returns a hash via Request/ajax and the user gets a link. 
After that Request is complete, the form will be posted and start the download.

So yes, same information is being sent. I chose to separate them. If you think would be better otherwise let me know.