ENH: better error message for invalid axis and concatenate inputs

the old errors
np.concatenate(1,2)
TypeError: object of type 'int' has no len()

concatenate([1], [2])
TypeError: an integer is required

are not very unhelpful, add a new internal function that allows adding
some context to axis argument conversion failures and check for sequence
inputs in concatenate.
Closes gh-4923.