Changed the error message received when specifying an invalid target in a BUILD file to actually be helpful.

Previously pants just choked with a ValueError stating that the spec was not found in the BUILD file. Now it actually lists valid specs that are contained in the build file, so that the user can recover easily without inspecting the BUILD file's contents.

See issue: https://github.com/pantsbuild/pants/issues/224

Testing Done:

Added unit tests under pants_test/base/test_build_file_parser.py (in addition to just running it on invalid targets).

Bugs closed: 251

Reviewed at: https://rbcommons.com/s/twitter/r/564/