Write a log file after a successful cfc run

This will be used to make dependencies in Makefiles work reliably. We
could add some useful or interesting statistics about the class
hierarchy later (number of parcels, classes, methods, etc.).
Use cfc logfile as make target

This makes dependency checks more reliable.
Fix configure.bat

- Fix path
- Unset CL when probing for cl.exe
Add missing include

The MSVC build needs the extern "C" declaration.
Regenerate charmonizer.c

Add /MD flag on Windows.
Compile cfc with debug flags
.cfp validity checks

- Check that .cfp contains a hash.
- Simplify check for invalid keys.
Support null values in .cfp JSON parser
Add field 'prerequisites' to .cfp parcel definition

The value is a hash where the keys are parcel names and the values are
version strings:

    "prereqs": {
        "ParcelA": "v1.2.1",
        "ParcelB": "v4.0.3"
    }
Add prerequisites to parcel definitions
Verify prerequisite parcels

Recursively check that all prerequisite parcels were found and match the
required version. All visited parcels are marked with a 'required' flag.
Switch from implicit to explicit dependencies

Stop inferring the dependencies from the types used in a parcel. Use the
prerequisites from the parcel definition instead.
Fix CFC type tests

Make sure to resolve types before running the equality tests. Otherwise
they pass for the wrong reason. Also set the parcel for some types to
prepare for upcoming changes to type resolution.
Only search prerequisites for unqualified type specifiers

Don't search all classes for unqualified type specifiers. This should
allow to have classes with the same struct_sym in different parcels.
Remove unneeded parameter
Perl bindings for CFCPrereq
Perl bindings for new CFCParcel methods
Don't run Charmonizer tests
Fix Perl bindings for $parcel->lookup_struct_sym

Switch to S_cfcbase_to_perlref.
Don't write callbacks for included classes