Support both Python 2.6+ and 3.3+ in single code base.

- Adds dependency for six library
- Add testing support for Python 3 in tox and travis
- Limited porting from 2to3, use six for compatibility.
- Explicitly define where we are working with unicode strings
  and where we are working with byte strings.
- Use str(message) for Python 3 instead of unicode(message).
  Use a class decorator to provide the correct __unicode__ and
  __str__ methods
- Add encoding parameter (defaults to UTF-8) for hl7.parse
  and hl7.client.MLLPClient
This is based on kevingill1966/python-hl7@develop pull request.

https://github.com/johnpaulett/python-hl7/pull/4

It has been rebased onto feature/python3-support.

The insertion of an initial empty element in containers to fix sequence numbering has been removed. Sequence numbering will be fixed in a subsequent PR.

Support for the special accessors has been removed. This will be added back in a subsequent PR.

From kevingill1966 changelog.rst:

Non-backward compatible changes:

* Changed the numbering of fields in the MSH segment. This breaks older code.
* Parse all the elements of the message (i.e. down to sub-component). The inclusion of repetitions will break older code.

Others:

* implemented a basic escaping mechanism
* new constant 'NULL' which maps to '""'
* new isfile() / splitfile() functions to identify file (FHS/FTS wrapped messages)
Second stage of @kevingill1966/python-hl7@develop pull request

This is the second part of kevingill1966/python-hl7@develop pull request.

https://github.com/johnpaulett/python-hl7/pull/4

It addresses these issues raised in that PR:

3) Introduce new "PID.4.1" access notation
4) Use 1-based indexing instead of 0-based indexing inside fields

The new symbolic access notation is now abstracted into an Accessor class which can be parsed from a string. This allows for easier iteration of repeating fields etc. by just incrementing a numeric field in the Accessor instance.

HL7 1-based indexing is supported on all sequences by using them as a callable. e.g. h[0] == h(1)
Use isinstance instead of checking explicit type.
Make Accessor a lightweight namedtuple subclass and pass separate arguments to extract_field/assign_field.
Tweak doc comments.
Implement slice to return the correct container instead of a regular list.
Use assertInstance from unittest2. Compatibility for unittest2 and mock across Python 2 & 3
Refactor the Makefile.
Fix a few failing doctests.
Fix broken doctests.
Switch from "make test" to "make tests"
Update the changelog in preparation for 0.3 release.

- Resetting version to 0.3.0, since it was never released.
- Adding Kevin, Emilien, and Andrew to the AUTHORS list.
Merge branch 'accessors'.  Thanks Kevin Gill, Emilien Klein, and Andrew Wason.