URL safe base64 encoding

closes #3872
- updated base64 escaping to respect + and \
- updated base64 escaping to remove = during transport
- updated tests