Make SourceRoot fundamentally understand a rel_path.

Add a factory for constructing a SourceRoot from a ParseContext
as a secondary means of creation and wire this up to core's
regiaster.py.  Simplify a test as a result.

 src/python/pants/backend/core/register.py        |  2 +-
 src/python/pants/base/source_root.py             | 10 ++++++++--
 tests/python/pants_test/base/test_source_root.py |  6 +-----
 3 files changed, 10 insertions(+), 8 deletions(-)

Testing Done:
CI went green here: https://travis-ci.org/pantsbuild/pants/builds/35379833

Bugs closed: 575

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