Don't segfault if transport doesn't support push.

Instead, set an more informative error message.
Test that pushs properly fail for transports that don't provide a push implementation.
Merge pull request #1247 from sba1/dont-segfault-if-transport-doesnt-support-push

Don't segfault if transport doesn't support push.