Interface Mojo

This interface forms the contract required for Mojos to interact with the Maven
infrastructure.
It features an execute() method, which triggers the Mojo's build-process behavior, and can throw
a MojoExecutionException or MojoFailureException if error conditions occur.
Also included is the setLog(...) method, which simply allows Maven to inject a logging mechanism which
will allow the Mojo to communicate to the outside world through standard Maven channels.