Replace Armadillo with Eigen3.

Eigen3 provides a more extensive interface, and support for sparse
linear algebra. Primary motivations behind the change are:

1. Eigen is header-only, which simplifies build and linking

2. Eigen allows row-major storage (unlike Armadillo), which is useful
when interfacing with parts of DOLFIN and other codes.
Merge branch 'garth/eigen'
Update README.rst with new links.