Add support for parsing config from readers

Prior to this commit, the API only provided a way to parse
config from files.  This commit adds the new `reader->map`
function, which makes it possible to parse config
from an InputStream or other reader-friendly object,
rather than just from a file.