Fixup Utf8HeaderTest - use original python target sources only.

Restrict the Utf8HeaderTest to python files checked in on disk
by converting from an fs walk to a build file walk.

Button up the build file walk machinery in the build file parser
and convert existing usages to this new api.

Fixup BUILD dependencies.

Testing Done:
Currently red on travis-ci: https://travis-ci.org/pantsbuild/pants/jobs/27673541 :
...
E       AssertionError: Expected these files to contain first line "# coding=utf8": ['/home/travis/build/pantsbuild/pants/.pants.d/gen/thrift/combined/gen-py/__init__.py',

Now passes:
$ ./build-support/bin/ci.sh

Also ran refactored task tests individually to help confirm BUILD deps:
$ PANTS_DEV=1 ./pants goal test tests/python/pants_test/tasks/:listtargets
$ PANTS_DEV=1 ./pants goal test tests/python/pants_test/tasks/:filemap
$ PANTS_DEV=1 ./pants goal test tests/python/pants_test/tasks/:check_published_deps
$ PANTS_DEV=1 ./pants goal test tests/python/pants_test:test_utf8_header

Bugs closed: 236

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