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.
Merge pull request #3691 from andrsd/mt-constraints

Fill in _objects_by_name for constraints to enable multi-threaded runs (...