Support Enums as labels not ints

You need to pass enum_as_labels = True in ordre to do so
Merge pull request #1 from CanalTP/master

Allow enum values to be written out using their label names
enum_as_labels is now use_enum_labels, and defaults to False
README.md's code blocks are now annotated
Bumping to 0.0.3
Bugfix: use_enum_labels is recursive now
Merge pull request #2 from CanalTP/master

Using enum labels wasn't recursive
Recursive encoding of messages no longer mutates the TYPE_CALLABLE_MAP global
Bumping to 0.0.4
Fixing issue #3 (thanks, @chicagoben)

Sub-messages would cause a TypeError to be thrown
Tidied up type callable selection
Bumping to 0.0.5
Add dict_to_protobuf.
Add an option to ignore extra fields when converting dicts to PB.
Fix bug in recursive dict_to_protobuf.
Added unittests.