Hl7 ack

This abstracts out message parsing into a ParsedMessage class which is also responsible for the ACK.
This eliminates double parsing of the message, and allows users to use any parser they want (or just deal with the raw unparsed message).
Also any ACK scheme can be used.

An implementation using python-hl7 for message parsing and ACK generation is included. So this now requires python-hl7 >= 0.3.1 - so we should upload 0.3.1 with the ACK functionality so this dependency can be satisfied.