Make empty data construction error message less dev-y
When one tries to construct a `DataFrame` where the data column count and the passed in column count differ the error message is completely unintuitive unless you know something about the internal representation of the data inside of `NDFrame`s.

I think we should at the very least make the dimensions in the error message consistent with how the frame _looks_ rather than how it's _implemented_.

this code:

``` python
df = DataFrame(np.empty(0), columns=list('abc'))
```

raises this exception:

```
ValueError: Shape of passed values is (1, 0), indices imply (3, 0)
```

see here for another example: https://github.com/ContinuumIO/blaze/issues/466
