Support loading multiple objs from a PEM

This is necessary for chained certificate support, as chains are most
frequently represented as multiple certificates in the same file. Our
old code would simple parse the first certificate, then quit.

This patch adds new, collection-returning variants of the primitive
functions that handle all the objects contained in a pem file.
Remove funcs that presume one obj per PEM

This builds upon the previous commit, and removes the vestigial
functions that assumed that each PEM file contained only a single
object.

The higher-level assoc-private-key-file! function, though, is tied to
having pem files for the key and cert that each contain only a single
object. This is due to its interaction with the underlying KeyStore
object, and thus difficult to change. I've modified that function to
raise an exception if it's handed PEM files containing more than one
object.