Avoid unnecessary use of Exporter
Implement gnu_extensions flag

Case 117233: Implement gnu_extensions flag in Archive::Tar::Builder->new()
which must be enabled explicitly by the user in order to generate archives
with GNU LongLink extension support for arbitrarily long filenames not
supported by POSIX ustar, to prevent the possibility of unknowingly
generating archives that cannot be extracted on a NetBSD or OpenBSD default
system tar successfully

Changes made to facilitate this feature:

    * Retool $builder->archive_as() to display error names for archive
      error names for archive member names, rather than original files,
      when long filename errors are thrown when GNU extensions are not
      enabled

    * Refactor options parsing code to load options into an enum bitfield
      that can be leveraged across the codebase, rather than an options
      struct that can only be used in src/Builder.xs

    * Make b_builder_write_file() throw an ENAMETOOLONG and set an
      appropriate error when encountering a filename too long without the
      GNU extensions enabled

    * Update t/lib-Archive-Tar-Builder.t to specify GNU extensions where
      appropriate

Other changes:

    * Add cPanel copyright to all b_*.h header files in src/

    * Fix an issue in b_error_set() wherein the message actually gets
      clobbered due to a missing 'return' statement

    * Reimplement $builder->archive() in terms of $builder->archive_as(),
      to reduce code duplication at no performance penalty

    * Set errno to EINVAL when truncated files are detected

    * Suppress warnings from file truncation test
Rework unit tests for NetBSD, OpenBSD

Case 117021: Rework unit tests to address failures as identified by the CPAN
test server infrastructure, due to NetBSD and OpenBSD tar's lack of support
for GNU LongLink extensions

Specific changes:

    * Detect BSD tar and skip certain tests as deemed reasonable

    * Also look for star, ustar as alternatives to bsdtar

    * Adjust tests to strip trailing and leading slashes from pathnames
      when testing expected and provided outputs

Other changes:

    * Add .perltidyrc to repository
Merge branch 'case117021' of git://deathstar.dev.cpanel.net/~erin/archive-tar-builder/erins-archive-tar-builder
Merge branch 'case117233' of git://deathstar.dev.cpanel.net/~erin/archive-tar-builder/erins-archive-tar-builder