Button: Move common interface visualization to Button class

The implementation of a simple JPanel with a JButton was only code
duplication accross the several button implementations.
SkyButton: Reduce dependency on SkyMote

Placed call to setButton() in implementation-specific functions
doPressButton() and doReleaseButton() as in ContikiButton.
Button: None of the buttons will saves its state

Saving a buttons state in simulation file is not required as its state
is much too volatile.
Button: Add doPressButton() and doReleaseButton() to Button class

As every Button has a node-specific implementation part, this should be
the minimal interface to the backend node emulator for pressing and
releasing a button.
Buttons: Move implementation of button routines to Button class

The implementation of clickButton(), pressButton(), and releaseButton()
can be shared accross the several node-dependent implementations as
they use the node-dependent doPressButton() doReleaseButton() routines.
Buttons: Added missing @Override annotations
Buttons: Some minor cleanups

Removed imports not required anymore and made some class members final
Buttons: use non-deprecated MSPSim button api
New PluginType SIM_CONTROL_PLUGIN for sim control

SIM_CONTROL_PLGUIN are handled like SIM_PLUGIN, with one exception.
If the simulation is started with -nogui=<simfile> than it is checked
if a controlling plugin is loaded. If not, the simulation terminates
with an error message.
Better error message when aborting simulation
Button: Allow to press and release button by mouse and key

In the previous implementation a click event was triggered when the
button was pressed.
This implementation allows to set and release buttons independently both
by mouse clicking and by key typing.
Added the control plugin behaviour to executeJAR
fixed a bug in executeJAR
Fixed a bug with the ScriptRunner plugin

The ScriptRunner plugin started the simulation in GUI and NOGUI mode.
Now the simulation is only started in nogui mode
Merge pull request #847 from ejoerns/pull-req/cooja-buttons

Cooja Button interface update
Merge pull request #850 from TheGeorge/master

Pull request for issue #840
Merge commit '16141845cfe99454002aa2d1dba04bd047be7753' into HEAD

Conflicts:
	tools/cooja/java/org/contikios/cooja/contikimote/interfaces/ContikiButton.java
	tools/cooja/java/org/contikios/cooja/plugins/ScriptRunner.java