added syncing after save refs item:582
fixed history page error, removed unused functions
minor changes to edit button
Merge branch 'develop' into bug/waste-not-syncing
removed unused links refs item:540
Add vim-angular support
BDD spec descriptions
Fix deviceInfo rejections, reformat as factory

* DeviceInfoService doesn't use a constructor, so is technically a factory
* Correct promise rejection (resolve was incorrectly used in error handler)
* Use [jasemine-as-promised][1]'s Q interface in spec for consistency

NB, if `return` is omitted within the `runs` block, the promise isn't handled
correctly.

[1]: https://github.com/ThomasBurleson/jasmine-as-promised#the-new-better-solution
Split spec into two suites with/out Cordova
Add getDeviceInfo failure test

`deviceInfoMocks` module is now a factory the churns out `window.cordova` mocks.
Each property provides a different `window.cordova.require.get` function to test
different scenarios.
Add minimal pass and fail tests
Fallback to manual email input, closes item:566

If getDeviceInfo fails to find an email, just ask the user to fill one in.
Merge pull request #364 from musamusa/bug/waste-not-syncing

Bug/waste count not syncing
Merge pull request #365 from musamusa/refactor/app-buttom-links

removed unused link
Merge pull request #366 from tlvince/refactor/vimrc

Add vim-angular support
Merge pull request #367 from tlvince/bug/device-info-email-fallback

Add email fallback and device info tests
Use JSHint's new extends

Add Jasmine's `runs` and `waitFor`
Add JSHint iit global
Add ddescribe JSHint global