Add an adapt[] type, as well as adapt functions for int to date and datetime

```
    nd::array a, b;
    a = nd::array_rw(25);
    b = a.adapt(ndt::make_date(), "days since 2012-03-02");
    EXPECT_EQ("2012-03-27", b.as<string>());
    // This adapter works both ways
    b.vals() = "2012-03-01";
    EXPECT_EQ(-1, a.as<int>());
```