clone: add doctest for default destination
clone: abort if default destination has no meaningful name (BC)

If source URL has no path, default destination is resolved as '.'. It is
surprising than useful, and perhaps an unexpected behavior.

This change does not solve issue3880, but can avoid to clone into current
directory by accident.
bundle2: very first version of a bundle2 bundler

This changeset is the very first of a long series. It create a new bundle2
module and add a simple class that generate and empty bundle2 container.

The module is documented with the current state of the implementation. For
information about the final goal you may want to consult the mercurial wiki
page:

    http://mercurial.selenic.com/wiki/BundleFormat2

The documentation of the module will be updated with later patches adding more and
more feature to the format.

This patches also introduce a test case. This test case build and use its own
small extension that use the new bundle2 module. Since the new format is unable
to do anything right now, we could not use real mercurial code to test it.
Moreover, some advanced feature of the bundle2 spec will not be used by core
mercurial at all. So we need to have them tested.

--HG--
extra : rebase_source : 475ea0fd9c2f27c097068f98b7ac452ff0326b94
bundle2: a very first version of bundle2 unbundler

This changeset introduce an unbundler class to match the bundle2 bundler. It is
currently able to unbundle an empty bundle2 only and will gain more feature at
the same pace than the bundler.

It also comes with its special extension command in test.

--HG--
extra : rebase_source : 7fc729e9e0cd21c1358b7c96ac5b1c9774c4d64d
bundle2: make sure the unbundler refuse non bundle2 stream

We now make use of the magic string at the beginning of the file.

--HG--
extra : rebase_source : e9ca982c6b8eeed623c34ceb49f24b927fe2cfb9
bundle2: support bundling simple parameter

This changeset add bundling capacity for simple parameters, not value or any
special case are handled.

--HG--
extra : rebase_source : 43afd5c045fb5048bce9e8f22157d159f5ff7a69
extra : source : c2a786e379896935e355bb0d7ee0b89b08095513
bundle2: support for unbundling simple parameter

the unbundler now understand simple list of parameter.

--HG--
extra : rebase_source : 1874e38f19900ef053332300e6340baf9c81b4f9