Hex Output Padding

Added tests to make sure that BN.toString('hex') can be input into  new Buffer(..., 'hex').
First of all `while (out.length < padding) {`.

Then, `padding` is an optional argument, right? I'd set it to 0 if it is not present.

The third question, do you want it to be `out.length % padding === 0` here, or not? It seems that it could be beneficial to use `%` here.