Better sanitation of CLI argument 'index'.

Issue #9. Make sure that the 'index' argument to elsec is one of the
existing indexes or aliases. It was possible to pass
'valid_index/valid_doc_type' combnation (this was not a feature) which
lead to all kinds of grief down the road when the mapping was not parsed
properly.

Version bump to 1.0.3
Parametrized client.main() to allow for testing.

Allowed for input, output, and loop functions to be passed to
client.main() so that they can be stubbed out for testing. This testing
came out of the fix for Issue #9.