Improve enum parsing from .2DA files.

- Now, there are two ways to parse an enum from a .2DA:

  * Directly parse the type as an enum via Enum.Parse, useful if
    the field contains string labels that match to enumerates,
    e.g.:

    [TwoDAColumn(ColumnName = "VS")]
    public ComponentType Components;
    // Assuming ComponentType has V, S, VS enumerates.

  * Parse the type as an integral type and force it to be an enum,
    useful for bitmask flags, e.g.:

    [TwoDAColumn(SerializeAs = typeof(uint)]
    public MetamagicFlags MetaMagic { get; set; }
    // Assuming MetamagicFlags has [Flags] attribute and has
    // suitable values for what will appear in the .2DA.
    // No validity checking performed against enumerate values!