acpt: fix py33 behave error on helpers import

Also, removed Pillow dependency for tox environments.
enum: transplant docx.enum.base module

Transplanted from python-pptx, with some changes to fix Python 3.3
incompatibilities.

Enables full-featured enumerations to be defined declaratively.
Features include setter value validation, str() value elaborated with
symbolic name of value, alias names for an enumeration, mapping to and
from XML enumeration (ST_*) values, and auto generation of enumeration
documentation page, in addition to the base symbolic reference to an
enumeration value.
enum: convert WD_UNDERLINE to XmlEnumeration
run: convert CT_Underline.val getter to from_xml()

The new XmlEnumeration base class provides .from_xml() to encapsulate
the mapping of XML attribute values to enumeration values, eliminating
the need to place it in the oxml and repeat it in both directions, one
for each of the getter and the setter.

The predicate in the Run.underline getter unit test needs to be on 'is'
rather than '==' in order to distinguish a `True` value from a 1 value
and likewise for `False` vs. 0.

For now the specialized mappings between WD_UNDERLINE.SINGLE and True
and between WD_UNDERLINE.NONE and False are provided in the oxml
getter and setter directly. Later it might make sense to add a mechanism
to XmlEnumeration to allow adding get and set overrides/aliases, let's
see how it goes and whether that happens often enough to warrant adding
special-case functionality to XmlEnumeration.
run: convert CT_Underline.val setter to to_xml()
run: add validator to Run.underline setter
docs: add docs for WD_UNDERLINE enumeration