Move pjax:receive event right before content change

As mentioned in a comment [1], we want this event to be fired closer to
the actual DOM change. A subsequent change might want to make this event
cancelable, so that you can provide your own content replacement
technique. But for now we're keeping it simple and only allowing
listeners to react to the event without interfering.

[1]: https://github.com/defunkt/jquery-pjax/pull/384#issuecomment-42300835
Fire pjax:receive event on popstate

This pjax lifecycle event is important not only for when an AJAX request
changes the container. We also want to allow hooking in to the same
place in the lifecycle of popstate events. This commit makes that
happen.
Rename pjax:receive => pjax:beforeReplace

As pointed out by @josh in a comment to PR #384 [1], it would make more
sense if this event is called something other than "pjax:receive". We
initially picked that name to stay consistent with Turbolinks event
naming, but now that we've moved the event to a slightly different place
in the pjax lifecycle, the name could be more descriptive. Looking at
the names of the events in the readme, we think that
"pjax:beforeReplace" is a good descriptive name.

[1]: https://github.com/defunkt/jquery-pjax/pull/384#issuecomment-42305547