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
Remove strcmpi function.
Merge branch 'master' into DF_xterminate_exceptions
Corrections of unit tests.

- replacement EXPECT_DEATH by EXPECT_THROW where xprintf method throws
error
Correction of type_record unit test.
Fix in destructors.

- log file was closed two times
Replace macros with static constant members of retun codes.
Remove commented parts of code.
Change of ApplicationBase class methods.

- change directive of selected methods to protected
- addition of documentation
Small changes in unit test.

- using EXPECT_THROW_WHAT macro if xprintf method throws an exception
Modification of XIO library.

- create class Xio with data of XIO library