Tests fix, pydotprint and Better error message.

no news.
I don't think that is correct yet, as a could be broadcasted to fit one of the choices.
Example:
```
>>> np.choose(0, ([[3.4], [5.6]], [4.5, 6.7]))
array([[ 3.4,  3.4],
       [ 5.6,  5.6]])
```