Add Binding::add(Values tuple, Result row).

This defines and hides how each binding extracts attributes from a result.  In particular, we define the single timestamp associated with a result to be the latest timestamp of any of its associated KeyValues.  The ordering of KeyValues within a Result makes this easy to do: it's just the first KeyValue in the underlying list.

Also add test suites for binding implementations.
Use new Binding::add to simplify ScanSpout and JoinBolt.