Add a survey stake.

First step towards padless building.
Remove a useless field.

Why I left ProductivityFactor in there is beyond me.
Create a part module for the survey stake.
Make the stakes non-attachable.

The should not be attached to parts at any time. Transport needs to be done
via KAS containers (not a big deal since they require KAS to use anyway).
Make stakes show as bases.

Oh for custom vessel types.
Allow renaming of the stakes.

For now, just use vessel.RenameVessel although the vessel type is
meaningless.
Extend the tip of the stake's collider 1cm.

If a part's collider doesn't actually collide with the ground, the part
won't consider itself to have ground contact and since the stake is the
only part in the vessel, the vessel won't be landed and KSP will delete it
when the vessel unloads. Blah. Thus extend the tip 1cm past the attach
node.
Correct a spelling mistake.
Start work on a survey stake tracker.

Right now it just logs the placement of the stakes, but issues with KAS
have been sorted out.
Implement the core of the survey site tracker.

Survey stakes are added to sites on a celestial body and sites are merged
based on name (taken from the stake) and distance between stakes (<= 200m).
When stakes are removed, the site is split into multiple sites if the stake
was a bridge between distant stake( cluster)s.

The checks aren't particularly optimal, but they happen infrequently so
that shouldn't be a big problem.
Make the computed launch transform a child of the pad.

This should ensure transform "stability" during the build and capture
process.
Get a list of sites within range of a vessel.

The range is variable to allow for different classes of builders.
Allow SurveySite to be used in foreach.

The stake PartModules are directly accessed for convenience as it's easier
to get the vessel from the part module than the other way round.
Add a property to get a stake's name.
Major refactor of ExLaunchPad.cs.

The guts of ExLaunchPad have been moved into ExBuildControl to ease the
sharing of the actual building code between different builder types (pads,
docks, survey stations, etc). In the process, most of the settings related
stuff has been moved into Settings.cs where it belongs.
Use KSPScenario to create ExSettings.

Much cleaner, and the transition went better than expected.
Move the Kethane check into Settings.cs

Where it belongs :).
Add a Survey Station part module.

This is what allows for off-pad construction. It still has plenty of
issues, though.
Do proper removal of empty sites.

Sites that become empty from stakes being removed now remove themselves
from the tracker.

Also, add events for site addition, removal and modification.
Make the events static.

Oops.