Added the derivative function and sourceview

Signed-off-by: bvanr <henkibrij@hotmail.com>
Fixed Wolfram|Alpha bugs.

Did this by giving all operators an appropiate toString method with good
parenthesing. Strings returned by Symja were ambigious to Wolfram|Alpha
in some cases and by building our own query strings we lose this
ambuguity.
Add checks so that wolfram|alpha only queries when it can.
remove unneccecery toString method in MathObjectEmpty
Sinoids, by Ivor and Glenn.
You don't like it? deal with it
changing the way a Sinoid determines its boundingbox
added -1 to arcsin, arctan and arccos. 2 problems: 1) -1 is not seen as the operator, so on hover it does not turn blue ( combine 2 strings to make 1 operator?). 2) Operator bounding boxes are placed against the top of the complete boundingbox.
nothing done, just looking at what the problem could be
merge MathVariable and MathConstant to MathSymbol
Merge branch 'master' of https://github.com/Divendo/math-dragon
Restored from old commit
Write to XML supported
Read from XML supported
Write to XML implemented
Write to XML implemented
Write to XML implemented
Write to XML and type implemented
Duplicated XML constants removed
Duplicated XML constants removed
Write to XML dummy implementation