ENH: support for nanosecond time in offset and period

This is my attempt to fix the so far missing nanosecond support for pd.DatetimeIndex (see issue #1812).

The Python modification should be relatively easy to review, but unfortunately I had to do a bigger refactoring of period.c in order to support subsecond times.

Im still working on adding more tests and I will try to include the tests on C level as well (test_period.c, which can only be used standalone so far).

I'm looking forward to your remarks and I will be happy to modify the code to fit it into the project.

Cheers
Andreas