inversion.solvers module for optimizers

The functions that do the optimizations will be placed in the
fatiando.inversion.solvers module. These functions will take functions
that calculate hessian, gradient, value, etc as arguments and then
optimize for the parameter vector. Most functions should be generators
(using yield to return the solution at each step). The Objective class
will use these functions.

This commit implements the linear problem solver.
Linear solver in Objective

Implemented the method for the linear solver in Objective. Wraps
solvers.linear