Finalize AndroidDistribution refactor

All __init__ action has been redistributed to too retrieval.
Now paths with no SDK can be set as Distributions and won't be
revealed for the baseless traitor it is until we ask for a tool.

This keeps pants from instantiating objects that request a valid
distribution during bootstrap. If there is no SDK in the user's
path they won't get the exceptions until they try and execute an
Android task.