[testing] Support testing for invalid scenes

This commit introduces a new class of tests: MorseBuilderFailureTestcase. These
tests pass if MORSE *properly fails* to load the scene (ie, it tests that the
GameEngine is not started).

The commit also include 2 tests that currently do not pass (cf bug #374).

While here:
 - improve management of PIDs (you do not need to get it from MORSE log,
   Popen.subprocess give it back to us). This allow to kill MORSE even
   if it did not reach the initialization stage.

TODO: I've no example of invalid scripts that are correctly handled by
MORSE, so I could not test that MorseBuilderFailureTestcase actually
pass when MORSE dies before starting the BGE.
[pymorse] use asynchat for stream handling

asynchat / asyncore deal with message buffer and channel synchronization
delete `ComChannel` (replaced by the `asyncore.loop`)
add a Morse.is_up() method to know if the simulation service is
connected. So use `while sim.is_up():` instead of `while True:` in
pymorse scripts.
[builder] quie by default for unhandled exception

default behaviour: quit Blender if an exception was not catched
[pymorse] update pymorse test
Partial fix for shadowing of parent properties in child classes

This bug has been revealated by 138c97bed2a8

While here, fixed a typo in semantic_camera.
semantic_camera test passes again.