- moved to maven & corrected a bug

- Now using a maven project structure! In preparation for deploying on
maven
- corrected a bug in memoization
- I think I'm now relying on reference equality too much
- the CommonDelegates code is also now not particularly ugly