Adding Object.keys and Object.size helpers

Unit tests also added to ensure they have expected behaviour
Refactoring: use ngIncludes & broader controllers
Adding HTTP GET caching to task & tasklist requests