Unittests

Add unittest for project which can be run using
```
python3 setup.py test
python2 setup.py test
pypy setup.py test
```
Note that 434e68b588 broke the tests which were passing prior to this:
It would seem that with and without numpy, `sin` is ignored and the interior of the expression is evaluated.

Also includes fix to break in python3 in core.py and wrong op for `>=`, `<=`

**I suggest merging this before fixing the value issue**, as testing is easy (see commands above).
It also gives the opertunity add tests for whatever parts are failing.