Implement improved hidden service protocol (prop224)

This is a parent ticket for implementing proposal 224-rend-spec-ng.txt