Implementation of solve, dsolve, laplace, ilaplace and partfrac

Both solve and dsolve support system of equations. In the case of solve, symbols are not necessary as inputs but I haven't worked on its output (issue #21 )

In the case of dsolve, initial and boundary value problems are considered (issue #120 ). The output of the current implementation of dsolve consists in equations (not functions) to deal with those solutions computed in implicit form (I'm not sure if it match with the SMT output, but the writting in implicit form is pretty useful and common).

It is also included those files related to the implementation of the Laplace transform (and its inverse), and the decomposition in simple fractions of a polynomial rational expression.


Do we also support a list of conditions?

`f = dsolve(de, {y(0) == 3, y(1) == 0})`

If so, add a test for this too (just copy paste this test).  If not, file an issue (if you agree that would be nice to have).