High level classes for dealing with OpenPGP objects.

Note: These are based on the org.bouncycastle.bcpg classes and use a streaming model, so for some objects which have an input stream associated it is necessary to read to the end of the input stream on the object before trying to read another object from the orginal input stream.