Formula Editor: Strings

* Implementation of Dialog for creation of strings.
* Update of Internformula parser and Helper classes.
* Interpretation now operates on Object instead of Double.
* Stringformula interpretation in every action.
* Highlighting of Strings in FE-Edittext
* Update of ComputeDialog.
* Note- and SpeakBrick now use formulas.
* Prototypeview in ListFragment for Mathfunctions. 

FE-Keyboard update: 
* Remove of RAND and introducing of STRING - button.
* "Math" changed to "Functions" on english keyboard.

Implementation of 3 typeless string functions 
(Use of Uservariable- or Numberparameters possible):
* length 
* lettter 
* join

Test extension and update:
* Test adaption (FE-Keyboard changes.)
* Tests for all 3 typeless Stringfunctions
* Tests for Stringformula interpretation in every ation.
* Operator (+,*,-,/) tests.
* Note- SpeakBrick test update.
* Update of Computedialog test.

General Refactoring:
* Fix of lint and checkstyle warnings (duplication)
* Introducing and extension of FormulaEditorUtil Class for testing.
* values.../strings.xml update
* FormulaElement refactoring.
* Refactoring of Formula Editor junit testclasses.

Jenkins testrun: https://jenkins.catrob.at/view/All-Categories/view/Catroid-multi-job/job/Catroid-Multi-Job-Custom-Branch/1526/

Another Jenkins testrun (EDIT): https://jenkins.catrob.at/view/All-Categories/view/Catroid-multi-job/job/Catroid-Multi-Job-Custom-Branch/1539/
I only need those constants to assert logical operations f.e. `1 < 2` that evaluates into TRUE, which is internally represented as numerical value `1`.
You can check that if you evaluate (Compute) a formula f.e. `1 + TRUE` -> `2`.

All If-Brick values which evaluate to not `0` are TRUE.
So in your example `93.8`would be true.