add a preliminary implementation of the auto-rotator
add public function to rotate to a specific position
Merge branch 'autorotator'
split main world script file into common and wr specific files

Some of the general functions in the main file will be used by other
scrips as well and are therefore moved into it's own file.
sort weapon code equally: fw, sb, af, pt
split _rotateWeapons() into public and private function

The function _rotateWeapons() is now split into a private one,
_startRotation(), that actually starts the rotation and conforms
better to _startLoop and _finishRotation. It leaves all the parameter
checking to the outside.
The other part, that checks the parameters and calls _startRotation is
now called _rotateSteps. Thus _rotateToPosition and _rotateSteps is the
public interface.
reorder stop and start of sound to avoid possible gaps

The next sound loop after start, finish after loop is now started, before
the old one is stopped. This is to avoid a possible silence gap.
create two init functions: _initExisting and _initNew

_initNew initializes a newly bought WR, _initExisting a WR loaded from
the player file.
move renovation of equipment into it's own function
move proceedings of buying a new WR and refunding an old one into a separate function

This greatly simplifies the understanding of the code.
change series of ifs into switch in this.playerBoughtEquipment
remove mission variable debug message
add common function to reset mission vars to default

This helps to cendense the code for mission vars into a single spot,
which is the _storables array.
fix floating point calculation jitter in _calcValueDiminishFactor

When the count was 0 the function returned something a little less than 1
due to floating point rounding errors. This lead to a refund just a little
less than the original value when replacing a brand new WR.
fix bug in storage of mission variables
create the auto-rotator device

Put the equipment script into it's own file, add it to equipment.plist and
add the implementation as it's own world script.
check for equipment damage before start of rotation

The auto rotator could possibly invoke a damaged WR, which of course is
unwanted. This patch disables rotating, if the WR is damaged.
formatting
remove debugging printouts
add auto rotator dependency to one of the weapon rotators