This commit includes physics handling for the following scenarios:
Flat rails in orientations [N, S, W, E]
Ascending/descending rails in orientations [N, S, W, E]
Powered rails are NOT handled (they don't respond to redstone).
Curved rails are NOT handled (I haven't figured out how to do them :P)
Please note that I have not tried to emulate vanilla behaviour because
of a lack of knowledge on velocity unites/C++. We can say it's a feature
or something. :P