fix null pointer crash

Souper was crashing when invoked like this:

  souper foo.bc

The problem was that when the solver command line argument was missing, a Solver
object with a NULL BaseSolver was getting created, crashing later on. The fix is
to avoid creating the Solver and just return NULL when we don't have a
BaseSolver.