push: pass a `pushoperation` object to localrepo.checkpush

The `pushoperation` object contains strictly more data the arguments currently
passed to `localrepo.checkpush` we pass the new object instead. This function is
used by MQ to abort push that includes MQ changesets.

Note: extension that may use this function will have to align.
localrepo: move the _changegroupsubset method in changegroup module

This is a gratuitous code move aimed at reducing the localrepo bloatness.

The method had 3 callers total, far too few for being kept in local repo.
localrepo: move the changegroupinfo method in changegroup module

This is a gratuitous code move aimed at reducing the localrepo bloatness.

The method had a single caller... already in this changegroup module.
localrepo: move the changegroupsubset method in changegroup module

This is a gratuitous code move aimed at reducing the localrepo bloatness.

The method had few callers, not enough to be kept in local repo.

The peer API remains unchanged.

--HG--
extra : amend_source : d4cb88014120ac65a056af969dfb713e4e46f433
localrepo: move the getlocalbundle method in changegroup module

This is a gratuitous code move aimed at reducing the localrepo bloatness.

The method had 3 callers total, far too few for being kept in local repo.

--HG--
extra : amend_source : aba27d05e0651e5378a4ad1c25c2c48e271ea8bd
store: drop unused existing list
localrepo: move the getbundle method in changegroup module

This is a gratuitous code move aimed at reducing the localrepo bloatness.

The method had few callers, not enough to be kept in local repo.

The peer API remains unchanged.

--HG--
extra : amend_source : d516122892166af0782c69b96eccc30f64be0ed0
localrepo: move the changegroup method in changegroup module

This is a gratuitous code move aimed at reducing the localrepo bloatness.

The method had few callers, not enough to be kept in local repo.

The peer API stay unchanged.

--HG--
extra : amend_source : bab78925253efe88ad92f441c3672b01e7fb6fb1
localrepo: move the addchangegroupfiles method in changegroup module

This is a gratuitous code move aimed at reducing the localrepo bloatness.

The method had a single caller, far too few for being kept in local repo.
localrepo: move the addchangegroup method in changegroup module

This is a gratuitous code move aimed at reducing the localrepo bloatness.

The method had few callers, not enough to be kept in local repo.