Added an initial versiion of the FOL solver

Most of the classes have been implemented however this is not yet final
unify method is now complete with pretty printing optional