Create a resource management system.

This allows simple transfers of resources to/from a vessel as a whole,
ignoring any resource flow rules.
Fix an NRE.

Forgot to initialize the resources dictionary.
Move the missing parts report into its own function.
Revamp the resource availability and transfer code.

This uses the new resources code to find all resources available,
regardless of the resource's flow mode.

Also, use double instead of float for required resources (as resource
amounts use double).
Fix some annoying braces.
Handle RocketParts specially when transferring resources.

Avoid transferring rocket parts required for the hull and solid fuel as
otherwise we'd get possibly something for nothing, and the user wouldn't be
happy with a heavier ship than expected.
Fix transferring resources out of a vessel.

Just a missed - sign :P
Merge pull request #39 from taniwha-qf/res-xfer

Res xfer