TNL-931: Eventing for Student Notes.

@mulby, @jmclaus  please review.
Ah, now I see. The jQuery deferred object is returned by the `$.ajax` call. Calling `always()` on this object results in the callback being called whenever the request completes regardless of whether or not it was successful.

It is a bit surprising to me that `emit` returns a promise, but I guess that actually makes sense.

Looks like `async==false` is actually deprecated...