Make Address abstract and support constructing SyntheticAddresses from s...

...pecs or path, name tuples.

https://rbcommons.com/s/twitter/r/487/