HPCC-9090 Add base 64 encode/decode functions to the ecllibrary

Reworked after review. Part 1

This new feature contains these implementations:

1. Add a new implementation of JBASE64_Decode which takes a pointer to input
   string and the length of it.

2. Add wrapper functions rtlBase64Encode() and rtlBase64Decode() into eclrtl
   (.hpp and .cpp) to call Base 64 encode/decode functions (implemented in
   jutil.cpp).

3. Add external references and exports for functions implemented in 1. into
   Str.ecl.

4. Add test code TestBase64Codec.ecl into ecllibrary/teststd/str/ directory.

Signed-off-by: Attila Vamos <attila.vamos@gmail.com>
HPCC-9090 Add base 64 encode/decode functions to the ecllibrary

This new feature contains these implementations:

1. Add a new implementation of JBASE64_Decode which takes a pointer to input
   string and the length of it. It skips space and new line characters.
   Validate characters in input string. If invalid one detected this function
   returns with false.

2. Add wrapper functions rtlBase64Encode() and rtlBase64Decode() into eclrtl
   (.hpp and .cpp) to call Base 64 encode/decode functions (implemented in
   jutil.cpp).
   If base 64 decode returns with false (decoding fails) then rtlBase64Decode()
   returns with zero length data.

3. Add external references and exports for functions implemented in 2. into
   Str.ecl.

4. Add test code TestBase64Codec.ecl into ecllibrary/teststd/str/ directory.

Signed-off-by: Attila Vamos <attila.vamos@gmail.com>