Pushhandler

This is the initial implementation of server push. There's still a lot to do. Consider this pull request more of a request for comments on the design rather than final code push.
Minor, but there's no period at the end of this (and many of your other) comment sentence, which isn't consistent.