Fill in _objects_by_name for constraints to enable multi-threaded runs (closes #3690)

When a constraint is added, we have to add the MOOSE object pointer into
the _objects_by_name array for thread 0 (which we correctly do). But we
also have to add an empty array for the given name for threads with TID
> 0. That way the call to getObjectsByName() is not broken for calls
with TID > 0.  It mistakenly reports 'no object of a given name', but
the object is there, just not for the given thread.
Declare 'unsigned int' consistently with rest of MOOSE.

Refs #1777.
Passed uniform refine level when creating mesh from another
Added ability to output materials via the Output objects
(refs #3538)
Added testing for material property output via Output objects
(closes #3538)