Enhancing FEProblem::reinitMaterials() interface

You can now specify whether or not the 'swap' step for stateful
materials occurs.

Refs #2379.
Change Element so that it does not dervie from Material, ref #2960
Merge pull request #2962 from jasondhales/solid_mech_2960

Change Element so that it does not derive from Material, ref #2960
Recompute MaterialProperties for DiracKernels

* Reinitialize materials before computing Dirac kernels, but only
  if those DiracKernels actually call getMaterialProperty().

* Adding MaterialPropertyInterface::statefulPropertiesAllowed(bool).
  This allows classes derived from MaterialPropertyInterface to declare
  that they do not work with stateful material properties.  The only
  class which currently uses this functionality is the DiracKernel.
  The various getMaterialProperty*() interfaces have been updated to
  throw an error is stateful material properties are not allowed and the
  user asks for them.

  Note that only the MaterialPropertyStorage object knows if it has
  stateful material properties, so we had to provide an accessor from
  the MaterialData object which contains it that could be accessed by
  the MaterialPropertyInterface.

Refs #2379.
Make MaterialData::swapBack() more robust.

Only swap back if the MaterialData has been swapped in the first place.

Refs #2379.
Adding MaterialPointSource and associated test.

It is a DiracKernel test that uses a MaterialProperty, as has been
implemented by an earlier patch on this branch.

If uncommented, the print statement in
MaterialPointSource::computeQpResidual() should show that the
MaterialProperty is being correctly evaluated at the DiracKernel
point.

Refs #2379.
Adding an expect_err test which demonstrates attempting to use a
stateful material property with a DiracKernel.

Refs #2379.
Slightly more robust error checking in SolidModel to avoid dereferencing a NULL pointer.

Refs #2379.
Regolding Richards Dirac bh07 test.
Merge pull request #2967 from jwpeterson/material_point_source

Compute Material Properties at DiracKernel points
Ticket #2974 : all dirac tests checked and everything looks ok
Addresses issue #2925 .  I have changed things to use Function & func , and used default values of optional functions.  Also added some doxygen doco
Merge pull request #2978 from WilkAndy/feature_2925

Addresses issue #2925 .  I have changed things to use Function & func , ...
Merge pull request #2977 from WilkAndy/feature_2974

Ticket #2974 : all dirac tests checked and everything looks ok
Implemented improved default naming (closes #2609)
Updated input files for new default naming scheme (#2609)
Merge pull request #2969 from aeslaughter/file_base-2609

Output naming improved
Adding test_only_up make target - closes #2979
Merge pull request #2985 from permcody/make_target

Adding test_only_up make target
Making objects that live on internal sides work with stateful materials - refs #2972
More work is needed for boundary material objects.