This should just raise an AttributeError, since __getattr__ is not defined on the base class.
Just a bit of trivial formatting fixup in this module--several of these tests are failing, for now
What is logic?  Actually, no, I don't know where I got the idea that if all arrays broadcast with one array then they all mutually broadcast.  We actually have to check all shapes against each other to ensure broadcastability.  Fortunately this can be done fairly easily on the order of the number of params * the max param dimension.  In fixing this I think I significantly simplified the logic in _check_param_broadcast so that it's a good deal more coherent.
A more useful implementation of check_broadcast--instead it now raises an exception if any of the shapes are incompatible (which is fine since this is always an error situation anyways) and if the check succeeds it will return the full shape of all the arrays broadcast with each other.
Some major progress on getting all the possible input/parameter combinations working properly.  There are still more cases that need to be tested, and the code is unfortunately very complicated and confusing.  I think it can probably be made simpler by breaking it into a few different subroutines for different cases, rather than handling all possible cases in the same loop.
Go ahead and make a special case for scalar inputs--they are allowed even when n_models > 1 since the intent is fairly unambiguous and they are always broadcastable.
Fix a few other tests that weren't working correctly.  The explanatory prose in the docs still needs to be updated, but all the doc tests are working now.
Broke format_input into separate subroutines for singles modules versus model sets.  This results in a *little* bit of code duplication that might be avoidable with a little more thought.  But for now this made it a little easier to follow and debug.  Added a workaround for models that don't follow the broadcasting assumptions made by format_input; so far the one case we have for that is the AffineTransformation model.