Add proxy querying functions that are more efficient. #3563

With our existing convenience functions for examining a proxy, you have
to re-read the proxy file for each piece of information (subject, email,
expiration, voms attrs, etc).
We're adding some additional functions to let us read the proxy file
once and then extract all of the desired information.

This makes the audit log code more efficient.