Merge in various improvements to pull, testing and configuration.
* 'bzr pull' now accepts '--clobber' which will discard local changes and make this branch identical to the source branch. (Robert Collins)
* There is a new method for TestCaseInTempDir, assertFileEqual, which will check that a given content is equal to the content of the named file. (Robert Collins)
* 'pull' has been factored out of the command as WorkingTree.pull(). A new option to WorkingTree.pull has been added, clobber, which will ignore diverged history and pull anyway. (Robert Collins)
* config.Config has a 'get_user_option' call that accepts an option name. This will be looked up in branches.conf and bazaar.conf as normal. It is intended that this be used by plugins to support options - options of built in programs should have specific methods on the config. (Robert Collins)