New Activities Service

This is work in progress. 
New implementation of the ActivityService which includes:
1. New Java API design patterns
2. Support for fields
3. Support for additional properties and methods on Activity and ActivityNode
4. Improved unit tests