Major changes, feature additions, and fixes

 * Fixed 'type' regex where a capturing group was not defined.
 * Added capturing group length check to ensure a capturing group was
   defined. If no capturing groups are found, the program errors.
 * Added %POINTER% variable for defining a place to place the pointer.
 * Fixed consistency issue with pointers for global variables.
 * Added more information about length inconsistencies between regex
   matches and maps.
 * Fixed bug where map_dict was being initialized as a list, not a dict.
 * Fixed bug where replacing variables failed due to non-string
   replacement variables.
 * Removed hacky implementations for Fortran types 'character' and
   'type'.
 * Implemented custom types for derived types and arguments.
 * Fixed ident issue for arguments portion.
 * Added padding for generated C header file.