Fix for file names not matching with PLEXIL NodeIDs

When translating, the main method now creates a mapping from PLEXIL
NodeIDs to the file name that it was found in. Library variables use
this map to decide what JavaPlan to instantiate. The upshot of this is
that if you want to translate a suite of PLEXIL plans with libraries,
either the root name should exactly match the file name, or you should
compile them all at once.