add null checking for bindImplementation

When null is set as a value in bindImplementation, before the configuration is used by Tang for injection, if we serialize the configuration, Avro serialization will throw exception as Avro schema doesn't allow null today. The fix has been made in C#. This is for Java parity. 
both parameters can be final; `s` can have a better name