Changed perks format

Changed the format used to save perks.
Tested perks parsing.
Preparation to include perks in the repair conditions.
Changed the references so that now the code should be compilable when
forked / clone.
Fixed folder structure and references

Now parts can't be required if they are too hot (> 100°)
Perks check

Implemented the required perks check.
Inspection and maintenance repairs

Adds the perks check to the inspection message.
Adds the perks check to the preemptive maintenance.
Added a fetch perks method to the static class.
Perks test

First tested perks implementation.
The generator is working.
Has bugs: inspections work regardless of the perks, you get multiple
messages during the repair prerequisites check.
Isolated GUI code

Each window is now incapsulated into its own object.
Officially changed the version to 0.4.0.0.
Added public set access for the settings (needed for the separate GUI
objects).
Fixed error in perks loading

Fixed the placement of the perks node in the part's cfg.
Fixed error in the loading of perks during OnLoad.
Added perks in the reliability info tab.
Added filtering options in the crew window

The crew window now shows toggles to filter the list of kerbals.
Changed the perk requirements for engines and RCS.
Prepared for perks upgrade mechanism

Prepared the system for perks upgrades:
- added a training node to the global config to set the costs (currently
not working, throws NRE when loaded)
- added UpgradeCost structure
- added dictionary of training costs to DangIt
- huge rewrite of the roster window: the code has been splitted in
subfunctions to keep things clean, fixed bug that caused the selection
to go out of bounds when changing filters. Also changed the overall
layout.
Partial and broken upgrade mechanism

All the main parts are in place, but the upgrade throws exceptions.
Added extension methods in CrewFiles, and also to perks and proto crew
member: needs rewrite with the extensions.
Improved upgrade mechanism
Upgrade mechanism tested and working

The perks upgrade mechanism is tested and works.

There are still two major issues left: the costs dictionary is not
loaded correctly from the settings file, and assigned kerbals can still
be trained while in flight.
Improved blacklist, tanks buff

Closes #42 (blacklists resources from Modular Kolonization System, plus
a bunch from Community Resource Pack and thus Interstellar).
Closes #43 (buff to tanks' reliability)
Improved roster window's layout and filter

The layout has been made more consistent with fixed sizes for the
columns.
The "hired" filter option has been replaced by "available", than only
lists the kerbals that are available for the next mission instead of all
the hired ones (which was a superset of the assigned crew).
Perks effect on maintenance

The skill level gap between the perks of the kerbal and the requirements
now affects the maintenance bonus given during maintenance.

Fixed a logic bug that made the perks check fail when the requirements
list is empty.
Improved perks upgrade button

If the kerbal cannot be trained (either applicant or assigned), the
current perk level is displayed nontheless. Instead of that terrible
label, a disabled button is displayed instead of the upgrade button.
Fixed logic bug in repair bonus, safer age discount

Up to now, if the perks distance was 0 no maintenance bonus would have
been gained (thus making maintenance useless for Skilled parts).

With the new formula, the bonus can be greater than 100%: DiscountAge
has been fixed to prevent a negative age, at all costs.
Safe index in selection grids

Fixes #47.
Serialized list of TrainingCost

fixes #44 (NRE when loading training costs)
fixes #48 (reduced the Skilled cost from 150 to 120)

The UpgradeCost type has been replaced by TrainingCost, which also
contains a SkillLevel field for the level it refers to.
The training costs are now stored in a List instead of a dictionary: the
file is an xml file and the list is loaded by deserialization of this
file.
The general configuration file is abandoned in favour of splitting
configuration among different files.
Bugfixes and comments

Fixed a bug in tanks' OnLoad (the pole wasn't loaded correctly).
Fixes the selection of the leak resources in tanks (the last resource
could never be selected).
Fixes a bug during maintenance (the maintenance would fail if the perks
DID checkout, a not was missing).
Changed the perks node name to be DANGIT_PERKS in all occasions (to
match the node returned by the generator).
Renamed InspectionName to ScreenName.
Updated .version file