Integration with the BTU rails server

Most of these changes are related to the [blockytalky rails server] (https://github.com/carolinemarcks/blockytalky-ror)

Changelist:
* Add a DAX channel called "Server" that handles messages from the rails server. The server messages can `upload_and_run` code on the BTU and it can `stop` the execution of code.
* Generate unique identifiers on each blockytalky. They are 13 characters of `[0-9,A-N,P-Z]` plus a checksum using the Luhn algorithm. I do not use the 'O' character so that it is not confused with '0'. These identifiers are generated in  the `start.sh` script and are stored in `/etc/blocklyId`. Instead of using the hostname of the device, this unique identifier is used to identify the blockytalky with DAX.
* Remove `code/rawxml.txt` and `code/usercode.py` because these change every time the user uploads code. I also added them to the gitignore.
* When uploading code, it checks whether the code has changed, in which case it does not go through the upload process again.