Implement ability to push minecarts on curved rails

This is my first real code contribution to an open source project. I'm grateful for any advice!
What if Z is negative? The old code was better.