Redesign Moose-like support

The Moose-like hook now does all the work; we're ditching the separate
extends and with hooks, as the code for these is essentially the same.

Moose-like now registers itself as a req-style hook and is able to
detect required version (via the { -version => XXX } notion).

This also fixes an issue with indirect method calls where methods were
named `with' or `extends'.  Well, we try to avoid these at least.

As a side effect, the `tangerine' script can now report versioned runtime
dependencies.

Signed-off-by: Petr Šabata <contyk@redhat.com>