Another pull request... Sorry, it's a bit chaotic.
Essentially it adds support for the mercurial commands incoming and outgoing by means of the methods hg_incoming() and hg_outgoing().
In the end, as one would expect, they both work the same: They both check for incoming/outgoing changesets for the remote repository specified as parameter. If the parameter is not provided, default is used. The methods return a list of Revision objects for the incoming/outgoing changesets or an empty list respectively. If one tries to invoke these methods on a repository without any remotes, or a specified remote does not exist, an exception is raised.
I tried to cover the most obvious use-cases by unit tests. Also I've updated the README file.