Merge pull request #2 from lamblin/interface_change

Add utilities to deal with nesting / flattening
Add other helper functions and methods
Modify tests to test the new mapping class instead
Change previous helper functions to use DataSpecsMapping

Also fixes some of the remarks made during code review.