Initial commit of work-in-progress code. Currently v broken. Initial proof of concept work has been done, but it's time to step back, design a data model, a set of activities and their flow, and do TDD. This commit contains temporary or generated files, it needs cleaning up.