Lightning can write, I promise

We’ve begun week two of the Summer of Code and the move to asynchronous storage based on promises continues. We are now at the point where events and tasks can be created using (I believe) code that is completely free of callbacks, with the exception of those that are need to serve the IDL interfaces. It’s been somewhat of a rough ride to get to this point, and I’ve learned a couple painful lessons about how asynchronous code works. From here the next step is to allow the rest of the calendar operations to be performed without using callbacks. Hopefully it will be a quicker process from here, as they share a large number of helper functions that have already been rewritten, and I’ve learned a thing or two along the way. Things are still being tracked in Bug 501689, for those who are interested.