Merge pull request #403 from xytovl/modularManeuverPlanner

Modular maneuver planner
Revert "Merge pull request #403 from xytovl/modularManeuverPlanner"

This reverts commit 28279d456a5e9351b67b8aee335285a2f52496a8, reversing
changes made to f10b429fdb0446594107c525228337fa734950fb.
Revert "Revert "Merge pull request #403 from xytovl/modularManeuverPlanner""

This reverts commit cdf3820f6f7dc7afd777a295c0e895c81e6fd396.
Merge branch 'dev'
Avoid sorting modules on each frame

MechJebCore now has a cache of sorted modules, the accessor for modules
takes an optional comparison function and will cache the result.
Merge pull request #479 from xytovl/performance

Avoid sorting modules on each frame
Log exceptions in maneuver creation

interface change: user errors in operations should now be reported with
the OperationException class. Other exceptions will display a generic
error and log the exception details.
Merge pull request #480 from xytovl/dev

Log exceptions in maneuver creation
Add quotes, fix build system
Merge pull request #481 from KaiSforza/kaictl-dev

Add quotes, fix build system
Really fix quoting, Fix build

Reverts 4b441b3 (Add quotes, fix build system)

Fixes steam directory for linux.

Steam uses the XDG_DATA_HOME directory, which defaults to
$HOME/.local/share, and uses the Steam directory in there. Some
distributions set this to a different directory, and we take that into
consideration.

Should close #458
Update MechJebModuleDockingAutopilot.cs

Goes along with the changes to MechJebModuleDockingGuidance.cs necessary to override MechJebModuleDockingAutopilot.targetSize and allow starting closer to docking ports on monumentally huge structures.
Update MechJebModuleDockingGuidance.cs

Ever try to build something truly monumental in orbit? Lots of docking means a docking AP is a must. Unfortunately, the MJ AP doesn't play nicely with the built-in KSP docking port targeting system. Specifically, if the MechJebModuleDockingAutopilot.targetSize is near or larger than the ~200m maximum distance for targeting a docking port, the AP always loses its lock as it backs up to its starting distance. This update (and the update to MechJebModuleDockingAutopilot.cs) allow an override for the auto-calculated targetSize to get around this problem. Get close to the docking port, override the targetSize, and watch the docking AP do its thing!
Merge pull request #482 from KaiSforza/kaictl-dev2

Really fix quoting, Fix build
Merge pull request #483 from attosecond/master

Fix for docking AP losing target lock while backing up from huge constructs
Fix some exceptions in advanced window transfer

When the orbit does not change SoI, PatchedConics.CalculatePatch returns
a broken orbit and crashes the optimizer.
Now those orbits are recognized and we just iterate one more orbit.
Merge pull request #484 from xytovl/dev

Fix some exceptions in advanced window transfer
Quick fix for handling engine parts with multiple gimbal modules.
Merge pull request #490 from ozraven/dev

Quick fix for handling engine parts with multiple gimbal modules.
Change how Velocity is calculated as mentioned in #478