Add exception for xprintf error message.

- declaration of new exception
- replace call to xterminate in xprintf by throwing this exception
- add destructor of SystemInfo
Create ApplicationBase class.

- create new class
- move 'PETSC code' from Application class and system intialization to
ApplicationBase class
Use ApplicationBase class.

- add inheritance to Application class (Application is descendant of
ApplicationBase)
- implement inherited methods of Application class
- remove PETSC code from Application class
- optimization of program termination
Remove initialization and termination functions of system.
Move parts of code from Application to ApplicationBase class.

- move calling methods of initialization and runing program.
- create auxiliary method called from constructor.
- optimization of methods what processed command arguments.
- add comments of modified methods.
Remove the call of petsc_finalize method from Application class.
Correct the call of pure virtual methods.
Remove skip_to function.

- modification of Mesh::read_intersections method
- remove strcmpi function (used in skip_to)
Remove using of strdup function.
Merge branch 'master' into DF_xterminate_exceptions
Clean ngh code.

Removed system, config, and problem.
Still potential with myvector, vector, matrix, vertex and point. Replace by armadillo.
Start non-compatible intersection in mesh.

- const modifications in BIHTree and BoundingBox
- bounding box getter in Element
- BoundingBox constructor accepting list of points
Remove strcmpi function.
Merge branch 'master' into DF_xterminate_exceptions
Introduce EI_Address.

- introduce EI_Address in input/accessors.hh
- add method ei_address() to all accessors
- remove set_address
- modify JSON_to_storage.get_root_interface<T>()
  to create accessor directly
- modify field_formula_impl (apply change in getting address)
- update unit tests
Exception for wrong Region names.

- when region, id or region set of a filed is wrong we have to
  throw otherwise things goes wrong
Compute 1d-2d intersections directly.

- update creation of intersection obejcts in mesh
  we use ngh functions directly
- add to ngh classes constructors from element
- more general constructor for bounding_box
- use sigma field in assembly

State: compiles, runs, bad results
Corrections of unit tests.

- replacement EXPECT_DEATH by EXPECT_THROW where xprintf method throws
error
Corrected calculation of dispersivity tensor in TransportDG and updated tests.
Closes #96.
Correction of type_record unit test.