Recognize pubkey as a noun meaning the public key of a keypair.
Per @aeyakovenko, contracts shouldn't trust the network for timestamps. Instead, pass the verified public key to the contract and let it decide if that's a public key it wants to trust the timestamp from. Fixes #405
Review feedback from @sakridge