Support for Python3

The major changes:

- Wrapper functions for serial write and read. Python2 uses strings and
  Python3 uses bytes. The wrapper function handles the difference.
- Only use `ord()` in Python2. Bytes don't need this.
- General version checking when the bytes vs str distinction matters.
- Checking around other function name changes.
Check for serial library

Handle ImportError if the serial library is not found and print a
message about how to install for Ubuntu and Mac.
Merge pull request #10 from lab11/py3

Support for Python3