Make simple non-virtual accessors inline

MooseVariableBase::number() in particular is getting called billions
of times and accounting for ~1% of runtime in some of my cachegrind
results.
getVariables returns a reference

And unless we intend to make a local modified copy, vars should also
be a reference for performance.
Add MooseArray::clear() API

resize(0) works fine, but this should be infintesimally faster and
it's an API name that an STL user would expect to find.
Use collective NumericVector APIs

This should be a performance improvement once
https://github.com/libMesh/libmesh/pull/411 is merged.  With older
libMesh versions most of these changes are just slightly terser code.

This commit includes a fix for
https://github.com/idaholab/moose/issues/4240
Don't copy jac_block unnecessarily

In this method we're just zeroing jac_block out later regardless so
there's no need to preserve an unscaled copy of it.
Updating libMesh submodule

Using
https://github.com/libMesh/libmesh/commit/07441213fae88a765ba1d3e086943b993529d6d8
should get us both the new NumericVector APIs for compatibility and
the new dof_indices refactoring for speed.
Update libMesh submodule to HEAD

I was trying to be overly conservative before and missed a third of
the new APIs; none of the Moose-used code changes up to HEAD should be
dubious anyways.
Add std::set of requested properties to subproblem (#4323)
call markMatPropRequested from Material (#4323)
Merge pull request #4322 from roystgnr/optimizations3

Assorted optimizations
Fix unused variable warning (#1777)
Merge pull request #4326 from dschwen/dmiwarn_1777

Fix unused variable warning in DerivativeMaterialInterface
Merge pull request #4324 from dschwen/ismatreq_4323

Rewrite isMatPropRequested