Some improvements, courtesy of Tom Ekberg <tekberg@uw.edu>
Added some generalization, so any type of range can be used.
He also contributed some tests, which were re-done into UnitTeset tests.

Signed-off-by: Joshua Kugler <joshua@azariah.com>
Organization improvements
Restructured code
Added setup.py
Fixed a Typo
Updated README

Signed-off-by: Joshua Kugler <joshua@azariah.com>