Rework initial condition and boundary code.

Add support for time-dependent value boundaries.