DOC: GH3105 better error message on ndarray construction
closes #3105

I never liked that error message, will be glad to see it die.

Most likely I am missing something, but are these tests asserting anything? Should each test include something similar to:

```
self.assert_(detail.message.startswith("Shape of passed values"))
```

.

_(I'm afraid I can't help mentioning)_:

```
tuple([len(index),len(columns)]) == (len(index),len(columns))
```
 yah...prob should be asserting....

what' s the 2nd part of your message?
 Looks like python3 doesn't give .message attribute to ValueError... hmmm.

Second part is simply that: `required_shape = tuple([len(index),len(columns)])` could read `required_shape = (len(index),len(columns))` :)
 ``` python
try:
    raise ValueError("foo")
except (Exception), detail:
    assert(str(detail).startswith("foo"))
```
 @y-p @hayd thanks....just figured that out!

also was missing some cases, so did a bit of refactoring to make it consistent
 @hayd Andy on a side note, you are very patient with people on stackoverflow!
 @jreback Thanks! I try not to think about it... :)
 anymore comments on this....merging soon...
 looks fine to me.
 @jreback I have only just looked at the google groups page... right back at you!
 TOTD
