If its used for only one invocation, we should have a defined behavior when its invoked a second time on the same instance.

By defined I mean, we either:

* Return the exact same RevCommit instance as we returned on the prior invocations.
* Throw a AlreadyCalledException which extends GitAPIException, and all other commands also throw this if invoked a second time.

Applications are going to try to run call() more than once.  Its a bug, but I can see applications making that mistake every once in a while.  We should help them figure out they have a problem earlier rather than later by failing-fast, or having predictable behavior (always produces the same prior result).

I think we're safer throwing an exception.