Add a new method of loading text (blocks and form) files.

Add a new method of loading text (blocks and form) files. This new
method computes a checksum (MD5) on the server and verifies it on the
client side in order to detect network “middle boxes” that corrupt
files in transit.

Change-Id: Iededd8d21c1cebe9ee322fcb498c890ea1589064
Update Companion Version Number

Change-Id: I8dd6e4e80281a40802e4f54615d90019aa7cc682
Update YaVersion for new Companion version numbers.

Change-Id: I94d0ef05eee4b9e655daa95b05621c4d0dc5d4be
Update Companion based on feedback

In the “No Wifi” case provide a way to continue anyway. Detect that we
are running in the emulator by looking for a product code of
“google_sdk” instead of just “sdk”. Apparently there are real devices
that have “sdk” in their product name.

Change-Id: Ib727928f78fd10be4cc8cedf6e08acf10c824dfb
Implements Sharing component

Work started by
https://github.com/cfromknecht/appinventor-sources/commit/d890e10a087c99d0e3001a004f9f7d4d09fdc98f

Change-Id: I117c697e0de5a924ea937630eecc00a133adaf44
Force the use of UTF-8 when encoding Checksumed Files

Make sure we use UTF-8 by calling getBytes("UTF-8")

Change-Id: I036c6f22f280567199b4539e6ac18ae98264b423
merging with main master