Fixes #408

Includes the features mentioned in the comment for #408
Minor error in the PORTFACING description text.
Fixes #421 - local corrupt files.

The final character of the encoding digits was being cut off.
i.e. space = code 32, so it is coded as:
    &#32;
but it was being read with the digit 2 being dropped off, so it
got read it as if it was code 3, not 32

I have no idea why it didn't break when I tried it the first time.
This is one of those "this should never have worked, ever" sorts
of bugs.  I have no idea why it didn't break when I tried it before.
Merge pull request #422 from Dunbaratu/fixes-421-local-saves-corrupting

Fixes #421 - local corrupt files.
Fix for filenames without extensions

Added a call to "CookedFilename" when initializing the FileName property
on the ProgramFile class.  This should prevent us from accidentally
creating any files without an extension, while still allowing users to
set their own extension when referring to files.  It appears to work
with all of my existing scripts on vessels, and fixes all of my boot
scripts.
Merge pull request #423 from hvacengi/fix-filename

Fix for filenames without extensions
Adds additional suffix protection for bootfiles.
Merge pull request #424 from Dunbaratu/additional-bootfile-change

Adds additional suffix protection for bootfiles.
hopeful fix to flight input showing autopilot controls
pilot controls will always be zeroed if there is no actuall pilot
Merge remote-tracking branch 'Dunbaratu/relative-direction' into develop
Removed dir:FROM, added dir:INVERSE instead.

The :FROM suffix wasn't working right at all.  Instead I decided
to offer up the Unity "Inverse" quaternion operator, which can be
used to obtain a "FROM" way of thinking with a few more steps.

Normally a Direction in kOS is a rotation that goes from the native
XYZ axes TO a new reference frame in which the Z-axis is pointing
the way you want to go.

What the :INVERSE suffix of a direction will get you is the rotation
the other way around - the rotation that would go from the Direction
TO the native XYZ axes.  Its used for getting the attributes of a
vector converted into the ref frame relative to the direction.
Merge pull request #1 from KSP-KOS/master

Master
Merge remote-tracking branch 'Dunbaratu/relative-direction' into develop
review comments
Fixes #390
No fix yet. Just exploratory debug prints.

Checking in just so I can work on a different issue first.
BREAKING: Fixes #431 by making the suffixes into vectors

instead of being directions.

Note, this also needs a documentation change once the
docs are done being rewritten.  There's no point in me
changing the current KOS-DOC given that it's already
obsoleted by the new version being made.

It also will need a BREAKING message in the release notes.
improved logging
Fixes #429 by preventing double-slashes '//' in file.

The real problem turned out to be the potential for '//' to appear
in the base64 encoded text and thus comment-out the remainder of the
value, truncating it.