FIX. Maths operators do not clone correctly.
Slightly improved ultrasonic block

Better picture.
Use 'long' not 'int for timing else overflows after 54cm
LCD Display Blocks

Add Blocks to create and control generic LCD displays. I2C and parallel interfaces.
Fix. Header lines generated out of order (needed for above to work)
Move 'tone' blocks to 'Pins' draw because they set a pin's state.
Change 'Utilities' draw to 'Generic Hardware' and improve color.
MessageBlock: add <&space> command to allow space at start or end of messages
MessageBlock: add <&nothing> command to allow apply settings without 'printing'

Correct some of my previous daft coding in old 'utilities' draw.
Merge remote-tracking branch 'upstream/master'
Fix #60. Setup Blocks. Duplicates removed

Tiny new function to Translator “addSetupCommandForced” which *does* add
duplicate commands – not like “addSetupCommand”

Big Change:: ProgramBlock now uses “addSetupCommandForced” to create
setup section

CodeSetupBlock now uses “addSetupCommandForced”

SetupBlock is unchanged as it is not used?
Merge pull request #72 from TonyCallear/Fix.-#60.-User-commands-in-'Setup'-are-pruned-and-forced-unique

Fix. #60. user commands in 'setup' are pruned and forced unique