Added grayscale image processing to io.cpp and convert_imageset.cpp

Added an iscolor flag to io.cpp method ReadImageToDatum to handle
grayscale images and a corresponding commandline flag [-g] to
convert_imageset.cpp.

Specifically, I changed the existing ReadImageToDatum to accept an
iscolor boolean flag that alters the call to OpenCV's imread. The
existing signature and behavior of the method was preserved.

Modified tool convert_imageset.bin to accept (in the first position)
an optional -g flag to indicate that all images should be read as
grayscale. This also preserves the existing usage and behavior of the
executable. Nicely, I think OpenCV's imread also converts color images
to gray when this is given the -g flag. (So no warnings or errors are
generated, for better or worse.)
Please make the new argument `is_color` to match our variable naming scheme.