Support option reads via indexing.

This will support tasks with table-driven logic.

Testing Done:
$ pants.dev goal test tests/python/pants_test/option

CI went green here: https://travis-ci.org/pantsbuild/pants/builds/43132907

Bugs closed: 846

Reviewed at https://rbcommons.com/s/twitter/r/1435/
Sync of https://github.com/pantsbuild/pants/commit/baef1d13fbb6a657ebc216b9731d4e3743eed0a1