Move factory function outside NavierStokesSolver.

* Write createSolver function in its own header and source.
* Create constructors for each IBM class.