Allow custom PigStatusClient implementations 

* Add a new constructor to the BasicP2LClient to allow custom PigStatusClient subclasses to be passed in
* Change initClients() from private to protected so it can be overridden in a subclass that passes in the PigStatusClient subclass.
* Print version number task to the gradle file, we needed this for our build system.