Some minor Python 3 fixes with bytes

Ensure data is encoded as bytes before passing to `bytes_to_cdata` (this
has no effect in Python 2)

Add case in `pack_list` for when `from_` is `bytes`.  Like the case for
str, properly splits `from_` into a list.
Use FloorDivide rather than Divide for division

Use integer division as the division operation when parsing `<op>` xml
tags.  This should be fine in Python 2.7 and any Python 3, but this
may need a `from __future__ import division` in <=2.6.
Poperly nest parentheses on operations

For nested binary operations, places parentheses around inner
operations.  Also places parentheses around all unary operations
(currently only bitwise inversion).

Closes #6