Upgrade scala to 2.9.3, temporarily add fs nexus
Remove all uses of curdir/chdir/pushd from pants

Summary:
This slightly changes the semantics of build files.  In places where
you'd expect (source_root, globs, rglobs), paths are relative to the
directory that the BUILD file lives in.  However, the BUILD file itself
is executed with its curdir as whatever the root of the build tree is.
get_buildroot() and ROOT_DIR are available, though, so any information
needed within a BUILD file about its path is still available.

Reviewers: benjy

Differential Revision: http://phabricator.prod.foursquare.com/D5210

Auditors: benjy
Refactor BUILD file parsing

* Shuffle around some modules to reduce circular imports
* Move is_jvm, is_python, etc. from free functions to properties of
Target
* Reduce the number of imports in __init__ files

Auditors: benjy

Conflicts:
	src/python/twitter/pants/tasks/task.py
Make pants server choose a free port.

Prevents port collisions when multiple pants servers run
in multiple workspaces on the same host.

You can still specify a port explicitly with a flag, but
by default a free one will be chosen.

Auditors: pl