EXP-228.  Improve ColumnRequest API.

Separate ColumnRequest into separate classes for input and output
requests.  Propagate those changes through KijiSource, KijiScheme, and
KijiTap, replacing the previous single field name / column request Map
with two maps, one for inputs and one for outputs.

Reduce user-visible API to replace pseudo-builder methods of the form
  myreq.withFoo(...).withBar(...)
by exposing all components of the class in the constructor.