PeriodIndex constructor should take frequency from start period if has one
EDIT: actually just need a better error message

```
In [10]: PeriodIndex(val, periods=20)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
/Users/wesm/code/pandas/<ipython-input-10-e39b42220b85> in <module>()
----> 1 PeriodIndex(val, periods=20)

/Users/wesm/code/pandas/pandas/tseries/period.pyc in __new__(cls, data, freq, start, end, periods, copy, name)
    568 
    569             if freq is None:
--> 570                 raise ValueError('freq cannot be none')
    571 
    572             data = _period_unbox_array(data, check=freq)

ValueError: freq cannot be none

In [11]: val
Out[11]: Period('02-Apr-2012', 'B')
```
