[core.interfaces] add ImmutableInterface
let every immutable class inherit from ImmutableInterface

and remove all obsolete self.lock() calls
[domaindescriptions] make DomainDescriptions and BoundaryTypes immutable
[functions.basic] bugfix
[core.interfaces] calculate sid in ImmutableMeta
[core.cache] use sid for key generation
add sids to data functions
[discretizations.basic] add sid_ignore attribute
add sids to data functions
[core.interfaces] improve sid calculation
[grids.interfaces] bugfix
[core.interfaces] more tweaks to sid generation
[core.interfaces] delete the sid of an Immutable object when unlocking
[core.interfaces] add inject_sid()
use inject_sid() everywhere
[discretizations.basic] remove 'estimator' from sid_ignore
[analyticalproblems.thermalblock] small tweak
[analyticalproblems.burgers] bugfix
[domaindiscretizers.default] add missing sids for indicator functions
[core.interfaces] add disable_sid_generation(), enable_sid_generation()