Add optional location to ancestry and fix behaviour for checkouts.
This adds an optional location parameter to the ancestry command. It also changes the behaviour of ancestry on checkouts such that if they have been created with a subset of the branch history, only the subset is shown by 'bzr ancestry'. Tests for all of that as well.