don't choke when an annotation has no highlights

With this change, 'annotationDeleted' events are fired for
cancelled annotations. This is a behavior change. Previously,
this event was only fired when saved annotations were deleted,
but not when new edits were cancelled.

It's my belief that this event is helpful information. A quick
audit of Annotator shows that nothing relies upon the previous
behavior. For example, the Store plugin registers annotations
after the 'annotationCreated' event is fired and ignores events
on unregistered annotations, thereby ignoring the 'annotationDeleted'
event that this change causes.
Store plugin should not assume once only loading

Related to #177
Upgrade to coffeescript 1.6 and enable source maps

This enables source map generation in development. To enable source map support
in the Chrome developer tools:

1. Open Developer Tools: View -> Developer -> Developer Tools
2. Click the "Settings" cog in the bottom-right corner
3. Choose "General," and select "Enable source maps"
fix for some adder positioning edge cases

Reported in hypothesis/h#371
Replace jasmine with mocha and mocha-phantomjs
Update test syntax and stubs
Add 'test' script to package.json for 'npm test'
Add travis config and bump node dep
Speed up time-dependent tests with sinon fake timers
Remove vendored jasmine
Customize test runner output for Travis

The "dots" reporter isn't very helpful in the Travis log, so allow overriding
the reporter by setting a make variable, and set it to "spec" when running "npm
test".
add tools/build
update test_phantom for mocha
Fixed broken link
Merge pull request #204 from b-long/patch-1

Fixed broken link
added document plugin and test
added document plugin to the test runner
absolute not relative urls ; include current location as link
added dublincore scraping ; also title is now extracted from scholar, dublincore if possible
added opengraph extraction