Store push server endpoints and ping them on version updates

This addresses #62 and #63.

It doesn't do any garbage collection currently, but does store timestamps for when the endpoint was last set, in case we want to support it in the future.

@rfk r?