Fixed base 64 encoding (when no padding is needed A=== is present) and added java compatible Diffie-Hellman function on ecc.elGamal

Sorry to have 2 different items in one pull request, still finding out how github works.

While attempting to get compatibility between the standard java EC functions to agree on a key I noted a difference. I proposed an extra dh function compatible with the java getKeyAgreement (verified to yield the same results and successfull key agreement on curve 256)

While encoding data I noted the Base64 encoder pads with either =, == or A=== the latter should never occur as padding. Changing a check to < corrects this (encoding confirmed to work for various lengths of binary data).