Gittle: fix active_branch

Assuming that, the API Gittle.active_branch intends to provide the
caller with the thing with a '*' next to it in the output of
"git branch", it's quite broken.

For example, if two branches pointed to the same id, the prior
implementation would always return the same value, regardless of
which was, in fact, active, according to the porcelain.  Also, a
result would be returned (again, the same one) in a detached
head state, so long as the detached head's id happened to be
also the id of one or more branches.

The active branch in git is, so far as I'm aware, defined
approximately like:

  if HEAD is a symbolic ref to a branch, that branch is active;
  otherwise, no branch is active.

I've tried to effect the above to fix the problem.  Not sure
my implementation is entirely correct, but I'm quite sure it's
less incorrect :)

Signed-off-by: Gregory M. Turner <gmt@be-evil.net>
Gittle: drop superfluous stuff

Since the head property returns an SHA, and the active_sha
function returns an SHA for head (after apparently spinning its
wheels for a bit), I'm reasonably sure that the active_sha
property is in fact equivalent to the head property.

If so, it should probably be dropped (as its presence suggests
that the two properties do something different).  Taking this
belief to be correct as a given, I've clarified it by replacing
the old implementation with a new one: "return head", documented
that the API is deprecated, and noted why.

This leaves zero consumers of _active_branch, hence, I've
eliminated it.

Signed-off-by: Gregory M. Turner <gmt@be-evil.net>