Additinal parameters for spherical shell initial conditions and geometry

Updated geometry_model/spherical_shell.cc
Can specify number of mesh cells created in the first time step.

New parameter:
  int Cell count

----------------------
Updated initial_conditions/spherical_shell.cc
Can specify the number of convective cells and their orientation.

New parameters:
  int Lemniscate number
  double Rotation offset
Replay Joey Durkin's second set of changes.

Something had gone wrong with these patches and they ended up deleting and re-creating a lot of files. This commit simply applies all functional changes that were part of the commit gone wrong.
Update a few pieces of the documentation.
Reunite a function with its documentation.
Reindent.
Address Timo's review comments.
Document the parameter better.
Add a test to verify that we can create meshes with different numbers of cells in the perimeter.
Address a number of issues brought up in review.

Specifically:
- Add changelog entries.
- Add a test for the hexagonal initial temperature model.
- Unconfuse myself by moving functions belonging to the same class closeby.
- Minor cleanup.
- Fix descriptions of tests at the top.
- Add a test for the octagonal perturbation.
- Add another test.
The heating rate should be a scalar function.
Update minimum refinement function to always read in 3 variables.
Merge pull request #176 from bangerth/fix-default-function

The heating rate should be a scalar function.
Merge pull request #177 from gassmoeller/split_refinement_functions

Workaround for some not working parameter files.
Use strain rate for viscosity mesh refinement.
Merge pull request #178 from gassmoeller/fix_viscosity_refinement

Use strain rate for viscosity mesh refinement.
Implemented new pressure compatibility correction.
Addressed comments.
Merge pull request #131 from gassmoeller/compatibility_normal_flux

Compatibility normal flux
Incorporated bugfix from minimum refinement function to standardize the way variables are read for different coordinate systems.
Merge pull request #180 from jperryhouts/fix_max_refinement

Incorporated bugfix from minimum refinement function to standardize the way variables are read for different coordinate systems.