prop224: ntor handshake implementation

Ticket created after https://trac.torproject.org/projects/tor/ticket/20657#comment:12

Initial reviews are here: https://gitlab.com/asn/tor/merge_requests/13

OK after a review from David and some comments from Nick I present the prop224-ntor-v2 branch which comes with all the code review fixes, and with a full on integration test suite similar to the ./src/test/test_ntor.sh tests for simple ntor.

It also implements the key expansion functionality as requested by David.