Vectorized DateFromJulianDay and JulianDayFromDate

This should mitigate Issue #296 by vectorizing DateFromJulianDay and JulianDayFromDate.

For the vecorization of JulianDayFromDate I had to implement a case for netcdf.datetime and one for regular datetime. Since properties are used the calls to the lambda functions were very expensive when getting the information out of the netcdftime.datetime object.
I now use the _ attributes directly if a netcdf.datetime object is given. 

I also tried to change the netcdf.datetime class to not use properties but to enforce the immutability by overwriting the __ setattr __ method but this slowed down the num2date case when netcdf.datetime objects had to be created.

Issue #75 also caused some minor problems. I fixed it by adding half a second to the julian date when getting the day part and the fractional day. This works but I am not sure that we should actually go to the next day if the jd is not >= 0.5?

My development environment also runs autopep automatically so I hope you don't mind all the small added spaces around stuff.

I think both work since python datetime seems to handle numpy arrays of length 1 fine, but I will check and harmonize it to [0] since this might change in future versions of numpy or python.
```
In [6]: datetime(np.array([2007]),1,1)
Out[6]: datetime.datetime(2007, 1, 1, 0, 0)
```