Some work for supporting ModuleEngines parts.

Need to work out how to find the stage of each rocket and only calculate
for the first stage.
use the game keybindings instead of hardcoding it (for translation keys)
fix posible conflic with other plugins.

codepoet made me aware of this if other plugin attaches objects to the
CoM like we do.
Merge branch 'master' into ModuleEngines

Conflicts:
	RCSBuildAid.cs
refactor ModuleRCS code so is more generic.

So it can be used it for ModuleEngines.
implement switching between balancing RCS or engines.
workaround the editor changing our layer values.
fix some NRE
disable engine mode when switching direction
Enable the correct CoMVector.
debug stuff refactor
random code trim
updated changelog a bit
create ModuleForces.cs and move RCSForce and EngineForce there.

RCSBuildAid.cs got too big. Also use an abstract class for subclass
RCSForce and EngineForce from.
change RCSlist and EngineList to List<PartModule> so they are more generic.
refactor disableType method.

So we don't use FindObjectsOfType in every frame.
remove some duplicated code when calculating torque.
display message when enabling engine mode without engines.
Disable module forces rather than destroying them.
fix arrow tips not getting the correct layer.