Second stage of @kevingill1966 PR #4

This is the second part of PR #4.

It addresses these issues raised in PR #4:

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)