Add specification documentation

Still incomplete, but review may start on the parts that are in there.

Fingerprint definition if still missing

ping @jlhawn 
Right now we are only supporting a single key per client.  We may want to support more in the future, but would prefer the client to pick one.  In cases of connections it is ideal to pick which ones works, but when dealing with signature we only want one signature per client.