Fixed header include
Now uses bind for extensible test cases
Changed range to be class, does step but not negatives
Full support for python range(), including negative steps