Allowing for per-user manifests and pluggable versioning

Firstly, my apologies for not submitting this as two pull requests (this is the result of some major git issues and me being tired).

The updated usage does probably gives the best overview of the new features:
https://github.com/adamcharnock/manifesto/blob/master/docs/usage.rst

All of the changes should be backwards compatible and have no negative performance effect unless activated.