Alloow Candy.Util.localizedTime to take a Date obj

There were many cases where the code was creating a date object, rendering it to a string, then parsing the string back into a Date object. This change uses the native Date object as long as possible.
Add timestamp data to messages

This will allow JS code to look at messages already rendered in the DOM and be able to tell the original time the message was received. Among other things, this can be used to determine where to start loading more history, based on which messages are already in the scroll back.
Default to the current date if no delay stamp is available

Also, fix a bug where delay would never be undefined: delay will be an empty jQuery object, but not undefined
Remove tests for undefined timestamps

These should only be tested in one place anyway, to ensure the event is properly populated.  The altered tests still ensure the event is fired and that all fields are present.

We could also play with time, but Sinon.useFakeTimers() is for some reason undefined. For this reason we can't make these tests reliable. See https://groups.google.com/forum/#!topic/sinonjs/_TQugVk441s
Whitespace
Merge pull request #297 from bklang/feature/include_datestamps_on_messages

Feature/include datestamps on messages