Introduce functional units (not subclassed from unitbase) and quantities
Add hash
Cleanup following rebase to faster quantity initialisation; docs/comments