Merge pull request #24 from mwiebe/pp

Preprocessor for metaprogramming
Change the DEPENDS of ppgen_run custom target so it doesn't rebuild constantly
Tweak the libdynd -> ppgen dependency
Another update to the ppgen dependency mechanism, hopefully it works
Convert the rest of the date calculations to use the date_ymd struct
Add handling of monthfirst/dayfirst ambiguous dates
Optimize the month and weekday string matching a little bit
Implement the time type

Biggest missing feature, aside from time zones, is
parsing from strings
Move common functionality from date_parser.cpp into parser_util.hpp/cpp
Add saved_begin_state for parser, get simple time parsing working
Get the time parser into basic working shape
Adjustments from PR review
Merge pull request #23 from mwiebe/time_type

Implement time type
Fix for old gcc
Fixes for bugs in scalar lifting case exposed by foreach branch
Fix ckernel broadcast lifting when the elwise handler has array types
Move the test for no lifting to the beginning