added Signature::isEmpty()
automatically set default signature when none is given to the commit operation