ILogger.isFinestEnabled check added to prevent unwanted string concatination
Made InvocationBuilder Abstract + Inlines InvocatinBuilder creation

This PR contains the following 2 fixes:

* The InvocationBuilder is now abstract; this makes it easier to introduce
  new fields and simplifies the code
* The InvocationBuilder is not created very every call anymore. So if
  custom configuration needs to be done, the InvocationBuilder can be created
  but a direct invoke on the OperationService doesn't need the InvocationBuilder
  to be created. This will help to speed up performance since less objects
  are being created and less code is being executed.
Merge pull request #1464 from pveentjer/performance/invocationbuilder

Made InvocationBuilder Abstract + Inlines InvocationBuilder creation
Merge pull request #1465 from pveentjer/improvement/3.x/finestenabledcheck

ILogger.isFinestEnabled check added to prevent unwanted string concatina...
More optimizations for UTF serializing / deserializing
Added bytecode generating StringCreator to prevent Object[] for Constructor::invoke
Made possible to use on Java6
Added BCEL based builder to support one more codegen lib
Added Javassist based generator and created unittest to test the different generators