Refactored to remove hierarchical protocol plugin system. I found it confusing and I wrote it!
Address class enhanced. Full unit tests written. Seems to pass.
Rest of library currently not working. Initialisation test case fails.