Refactor constants and structures into their own files.

Moved all the constants and structures into their own files for clarity. This
commit also adds support for converting serialized key blobs into
crypto/rsa.PublicKey values. This is the first step towards pure Go verification
of Quotes.
Added TPM_QUOTE support
Added TPM_QUOTE verification with rsa.PublicKey values
Added support for closing key handles using defer.

This commit adds a CloseKey method that can be deferred on a tpm.Handle to close
the key at the end of a function. This is useful for callers that execute
LoadKey2 and later need to clean up the state of the loaded key.

This commit also has some minor renaming inside one function.
Removed out-of-date TODOs