Refactor bc_changed tiem mark.

rename form bc_chenged to input
rename getter to TimeMarks:: type_input()
Const mesh ptr in fields.

Make mesh in fields constant...
... lot of const changes,

have to introduce one const_cast in old_bcd
Decrement operator for Input::Array iterators.
Move reading form input into fields (WIP).

- move reading form input arrays with field descriptors
  from EqDataBase into Field<>
- nonstandard keys in field descriptors (OldBcd, piezo_head)
  are implemented through hooks that creates particualr instance of
  FieldBase<>
- implement field history and correct set_time for jump times
- implement FieldCommonBase::mark_input_times
Fix ADD_FIELD calls (WIP)

- Fix ADD_FIELD calls.
- modify Field<>::set_field, to get also time parameter
  and place given field into history
Merge branch 'master' into JB_unsteady_darcy
Fix merge bug in input unit test.
Fix fields test. Use std::shared_ptr.

- fix fields unit tests
- fix linking with coupling lib
- replace boost::shared_ptr with std::shared_ptr
Separate file for FieldBase class.

field_base.hh contains only FieldBase class
remaining Field<>, etc. moved into field.*
Fix PythonFiled in function_factory.
Fix error in TimeGovernor with fixed step.

- fix error in next_time() when end_time is equal to infty
- add ASSERT to TimeMarkIterator when dereferencing invalid iterator
Add const to FieldValue<>::get_input_type(..)

- add const
- NULL -> nullptr
JSONToStorage method to read from general string.

- replace rad_fron_default by more general read_form_string
Remove annoying warnings, improve comments.

- remove warning for possibly freeing NULL ptr
- remove warning when try to initialize already initialize profiler
const parameter of FieldBase<...>::get_input_type

- we must change this also in all descendants
Support for Field copies (WIP)

- put data that should be shared by different copies into
  separate structures, modify all access

- make LimitSide permanent setting, remove it as parametr from set_time

- unit tests for all nontrivial methods safe set_time, changed
  and constructors

- change declaratory setters from
  set_XYZ to XYZ, and let them return reference to the object to
  allow chaining
Simplify JSONToStorage interface.

Rationale:
JSONToStorage is meant as temporary class that serves for
read from JSON input, save data into Storage tree and provides
root input accessor.

- remove default constructor
- two constructors, one for read from istream, one for read from string
- method template get_root_interface - returns root accessor
  whole tree is deleted when there is no copy of the root accessor
  Safer implementation is neccessary... future
- change all places where JSONToStorage is used
Finish changes in Fields.

- implement copy constructors, assignment, and
- polymorfphic copy (not yet tested)
- detailed unit tests field_base_test.cpp
- fix several errors in field implementation
- accomodate changed in  fields interface
Finish changes in Fields.

- implement copy constructors, assignment, and
- polymorfphic copy (not yet tested)
- detailed unit tests field_base_test.cpp
- fix several errors in field implementation
- accomodate changed in  fields interface
Merge branch 'JB_unsteady_darcy' of github.com:flow123d/flow123d into JB_unsteady_darcy

Conflicts:
	src/fields/field_impl.hh