- made all methods in Compiler static
 - added instance methods to the Compiler class that delegate the calls to corresponding static methods, but carry some state around
 - created a Solution class that wraps A4Solution
 - moved some methods from Compiler to Solution (namely those that deal with extracting stuff from a solution, e.g., 'all_atoms')
 - the Solution class follows the same pattern as Compiler: static functional-style API + instance methods delegating to static API and carrying some state around in instance variables
 - rewrote CompilerTest to use the static API
 - added a new unit test, CompilerOOTest, to demonstrate the new instance-level API
 - rewrote FileSystemTest to use the new instance-level API