Base64 encoder/decoder and tests

As described in the draft 21, section 2 of JWT, the Base64 string should
be safe and trailing = have to be omitted

(http://tools.ietf.org/html/draft-ietf-oauth-json-web-token-21#section-2).

This commit includes new function to encode and decode according to the
draft.