Integer overflow with period_asfreq on 32-bit system
This causes a lot of test failures on my system.

```
In [4]: ival_H = Period(freq='H', year=2007, month=1, day=1, hour=0)

In [5]: ival_H.asfreq('S','S')
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
/home/thomas/Code/<ipython-input-5-1380e902ce36> in <module>()
----> 1 ival_H.asfreq('S','S')

/home/thomas/Code/virtualenvs/pandas-py2/local/lib/python2.7/site-packages/pandas-0.8.0.dev_4bf61b5-py2.7-linux-i686.egg/pandas/tseries/period.pyc in asfreq(self, freq, how)
    168                                         base2, mult2, py3compat.str_to_bytes(how))
    169 
--> 170         return Period(new_ordinal, (base2, mult2))
    171 
    172     def start_time(self):

/home/thomas/Code/virtualenvs/pandas-py2/local/lib/python2.7/site-packages/pandas-0.8.0.dev_4bf61b5-py2.7-linux-i686.egg/pandas/tseries/period.pyc in __init__(self, value, freq, year, month, quarter, day, hour, minute, second)
    112         elif isinstance(value, (int, long, np.integer)):
    113             if value <= 0:
--> 114                 raise ValueError("Value must be positive")
    115             self.ordinal = value
    116             if freq is None:

ValueError: Value must be positive
```

The C code is ultimately doing `ival_H.ordinal * 60 * 60`, and trying to store the result in a `long` - which according to [this table](http://en.wikipedia.org/wiki/Integer_%28computer_science%29#Common_long_integer_sizes) will be 32 bits on my system, and therefore isn't enough to hold it. From the debugger, `lib.period_asfreq()` returns -1121299440, which is equal to `(ival_H.ordinal*60*60 & sys.maxsize) - sys.maxsize - 1`.

I've tried substituing `long long` or `int64_t`, but the problem persisted, so I must be missing something.
