added: utilities to find complex eigenvalues of dyn and field matrices

this is missing in dune.

process has been started to get this integrated upstream
http://www.dune-project.org/flyspray/index.php?do=details&task_id=1186&project=1
fixed: move Vector type under the correct namespace
added: MatrixOps::extractDiagonal

extracts the diagonal of a matrix as a new matrix
added: MatrixOps::saveAsc

save a matrix as a dense asc file for easy import into e.g. octave
note this is only useful for debugging small systems, as the asc
files grow very big and unmanageable
fixed: make sure we do not dereference null ptrs
added: support for higher order lagrangian multipliers

- add PN shape function support
- make the way we group boundary elements into pillars more robust
- use the new shape functions in mortar matrix assembly
- add options to specify multiplier order (defaults to linears for now)
changed: refactor method setting into an enum instead of a set of bools
added: method=none

use this to apply no periodicity approach. useful for debugging
quell compiler warnings (sign/unsigned mismatch, unused variables)
fixed: make sure we load vectors
added: warn if volume cell is degenerated

also gives the collapse tolerance that will get rid of the cell
fixed: warn and exit instead of segfault if model uses more materials than is in rock list
changed: use human friendly 1 based loadcase numbering
added: improve the linear algebra

- change linsolver_type=cg to linsolver_type=iterative
- rename linsolver_type=slu to linsolver_type=direct
- adds a schur based preconditioner for the mortar system
- can use a symmetric iterative scheme (minres) or an asymmetric (gmres)
- allows employing a uzawa approach (mostly for debugging)

the elasticity block and (through schur-decomposition) multiplier
blocks are both preconditioned using an AMG. a diagonal preconditioner
for the multipliers are also available.
fixed: don't rely on a patched istl
changed: get rid of case-insensitive comparisons in command line parameter parsing

the paramgroup parser is case sensitive, the data may as well be as well
changed: certain elements do not like pragma once
Merge pull request #19 from akva2/high_order_multipliers

Elasticity upscaling - autumn update