Remove Hy's slice and add cut to fix overshadowing of Python function

Response to issue #505.

All references to the existing slice function have been replaced with (get collection (slice start stop step)).
The slice function was deleted.

The slice function in Python is now no longer overshadowed and can be called with (slice start stop step) and returns a slice object.

The function cut was created to replace slice while maintaining Python's slice function.
It functions almost exactly the same as the old slice excepting that given 1 argument it returns a list up to that argument value whereas slice returns a list all from that argument value.

These changes are necessary so that slice objects can be easily passed as parameters to functions.

The documentation has also been updated, which seems to break the build.
I'm not sure how to fix the build issue if the documentation causes any problems, but the added function is working correctly and all modified functions were tested individually and, to my knowledge, behave as before.
The assertions for testing apply and testing slice now fail, but I feel it best that this change is reviewed before I mess with the assertions.
On the bright side, the build problems aren't due to Python 2/3 madness!