Error out in bary() and chebtech.feval() for bad multidimensional inputs.

It is difficult to figure out exactly how to reshape() the results of
bary() and chebtech.feval() when the object being evaluated has multiple
columns and the evaluation points are an array with more than three
dimensions.  Previously, we just ignored these cases and returned
un-reshaped garbage.  Throwing an error instead is probably more
helpful.
Add test for bary().

This is needed now that chebtech.feval() calls chebtech.clenshaw()
instead of bary().