Disambiguate code in solve_mm.cpp

Eigen vectors were used with a builtin backend. Since both backends
(eigen and builtin) provide amgcl operations, there were ambiguities in
some cases. This replaces eigen vectors with std::vectors for the
solution phase.
Use norm(rhs) in CG instead of norm(r0)

The use of initial residual norm for scaling of the error resulted in
incosistent results when solver was called with good approximation. Use
of the RHS norm for scaling of the error allows calling the solver
several times for the same solution vector.
Strictly symmetric sample problem
Use norm(rhs) for error scaling in bicgstab(L)
Use classic bicgstab instead of reusing bicgstab(L=1)

Classic bicgstab accepts wider range of initial approximation values.
Bicgstab(L), on the other hand, diverges for some initial
approximations.
Provide initial approximation on command line for examples/runtime.cpp