First pass at defining plasticity models through user objects

Here i've just done the Mohr-Coulomb version.  You can see that:

(1) The UserObject defining Mohr-Coulomb is nice and small (good!)

(2) There can only be one internal parameter for each plasticity
model and yield functions, flow potentials and hardening potentials
for a given plasticity model can only depend on the internal param
for that model, and not any others (bad, but i don't know of any
plasticity models where this isn't the case, so maybe not too bad).

(3) TensorMechanicsPlasticModel accepts an arbitrary number of
plasticity models, but don't try >1 at the moment because i haven't
done the tricky business of determining active constraints, and
singular value decompositions

(4) The user interface is really quite similar to before, and
perhaps a little better due to restriction (2).

If there are no cries of indignation or better ideas, i'll now
go on to refactoring FiniteStrainTensile into this framework, and
then actually do some multi-surface computations (finally!).

Addresses issue #3832, but certainly doesn't fix the issue yet.
Merge pull request #3833 from WilkAndy/uo_plastic_3832

First pass at defining plasticity models through user objects
Moved examples from MARMOT to the phase field module for #3834
Fixed static analysis warnings
(closes #3829)
Created OutputInterface for building generic methods for using 'outputs' in an object
(refs #3702)
Added test for OutputInterface use with Indicators
(refs #3702)
Added OutputInterface to Markers
(refs #3702)
Added test for OutputInterface use with Markers
(closes #3702)
Postprocessors now rely on OutputInterface
(refs #3702)
Material and the auto output of materials relies on OutputInterface
(refs #3702)
Made marker calculations more robust
(refs #3702)
Merge commit '913deb3add61d10cd8541e9232954722acc67af6'
Merge pull request #3830 from aeslaughter/static-analysis

Fixed static analysis warnings
Merge pull request #3835 from tonkmr/feature_3834

Moved examples from MARMOT to the phase field module for #3834
Merge pull request #3804 from aeslaughter/indicator-output-3702

OutputInterface for enabling Marker/Indicator output control
Merge commit 'b45ac7057df80519a3274f834fb8e55677286761'
Merge commit '85a2c646e4b8fa84b98138fbd38288b4feb80b82'
Merge commit 'c974e33321ed327ddc11ef50d3466c7abb4ef264'