Added grunt and travis ci support, and wrote a healthy amount of Jasmine unit tests