Python 3 Support

* Uses integer division instead of true division to match existing behavior
* Normalizes bytes and str over python2 and python3

#### Speed Results

master branch

```bash
$ python2 science.py
Time generate
1.55129313469

Time create signature
3.12543702126

Time verify signature
4.6778781414
```


python3 branch

```bash
$ python2 science.py
Time generate
1.559871912

Time create signature
3.15075802803

Time verify signature
4.72807097435
```

```bash
$ python3 science.py
Time generate
1.700297640003555

Time create signature
3.219523929001298

Time verify signature
4.889569619997928
```