Made AdiabaticConditions a plugin architecture as well.

This resulted in changes to some material models since we no
longer can ask whether get_adiabatic_conditions returns a null
pointer (it will never do now), but instead we need to ask whether
the adiabatic conditions are already calculated, which is a function
that every adiabatic conditions plugin must implement.
Leave a comment.
Use correct ifdef name.
Documentation updates.
Allow initial conditions plugins to override the initialize() function.
Let InitialProfile create a constant AdiabaticProfile.
Since we have a valid default value, we do not need to try-catch.
Activate the update function for AdiabaticConditions.
Updated documentation and marked functions as virtual.
Updated plugin description text.
Clarified plugin description test.
Merge pull request #87 from gassmoeller/flexible_adiabatic_conditions

Flexible adiabatic conditions