usesTable fluent table builder

Moving towards having typed tables:

````
interface Item {
    int value();
    boolean isOverTwo();
}

// ...

it.usesTable(Item.class, Item::value, Item::isOverTwo)
        .withRow(2, false)
        .withRow(3, true)
        .withRow(1, false)
    .toShow("%d is greater than two? %s", (expect, row) -> {
        expect.that(row.value() > 2).is(row.isOverTwo());
    });
````

Bad but not awful `Enhancer` under the hood, which Mockito already depends upon.