add support for filehandle as config source

This is mostly for my benefit, so that test data can stay close to the
code.
hack for parse errors for parenthesis on next line

I'm not happy with the way this works, but I don't think I can come up
with a better way quickly.  The parse() function is built on the basis
that each line is independent.