Split date/date_gmt/etc back to date/date_token/date_gmt/date_gmt_token/etc; fix php warnings

- Using an embeded object for date means that you have to get the result as field.date.date. Pretty lame and breaks compatability
- Fixed a few php warnings that slipped through