More tensor_mechanics cleanup

Deal with signedness, perform range checking on index parameters, request the correct type of tensor material property etc. #3472.
Moose has a several FileName types.  Since this is an output filename, it's not a big deal if you switch it.  The purpose of using a FileName type is to trigger file open dialogs when using peacock.  I'll leave this potential change up to you see MooseTypes.h.