Don't modify builder while parsing keyfiles

This way if the parse fails we can throw it away and the builder will
still be good.  This way we can simple ignore invalid files.
lots more progress...
more...