refactor(hintService): move communication through developer tools to backend service

To improve testability, the backend communication with the developer tools is moved to
a service that can then be mocked for testing purposes. Moving functionality to
a service means that an app file is needed to create the module before the controller
and the service and that the app, service, and controller should be contained in the
application html page.
test(karma.conf.js): add karma and dependencies to allow testing
refactor(updateAll): remove unnecessary updateAll method

Now that message data is provided incrementally by the hintService,
all the arrays of data may be updated with each message.
test(hintCtrl): add test coverage for hintCtrl functions

Add tests that demonstrate the functionality of hintCtrl formatting functions.
These tests mock the hintService to test the operation of hintCtrl
functions for splitting and using received messages.