Fix mtree generation

When generating an mtree file, libarchive writes a "Relative" type (entries
that have no /) for files in the base directory. For directories, this causes
the mtree reader to change the parent directory and give subsequent files in
the root directory the wrong path.

Fix this by prefixing entries in the root directory with "./".
Seperate single RAR test into multiple test cases.
Seperate get_test_set() function out into a utility source file used by all test programs.
Update .gitignore to ignore library and Testing folder
Implement filtering of test cases run using glob pattern matching.
A test case will run if it matches a specified glob pattern. Test cases can
also be filtered out by including a '^' at the beginning of a pattern.
Add support for a mtree form that NetBSD's mtree -D generates, which places
the path as last parameter.
Merge branch 'master' of github.com:libarchive/libarchive into mtree
Separate test_read_format_mtree to know easily which tests failed.
Merge pull request #20 from allanbrokeit/mtree

Fix mtree generation
Do not add "./" prefix to the current directory name ".", it is not necessary.
Add test for appending "./" prefix.
Do not write absolute paths to mtree archives.
Add test_utils.h to test_utils_SOURCES, fixes use of 'make dist'.
Fix a mtree detection bug brought by a commit 78307be86b71.
Allow FreeBSD mtree's nochange keyword.
Add support for writing mtree classic format, which mtree utility generates by default.
Fix build failure on Clang.
Disable some mode tests on Windows. We cannot perform it as POSIX systems.
Reduce the amount of memory in mtree writer.
Fix build failure on linux; remove unused variables and a function.
Add tighter checks to avoid reading past end of buffer

The string to base 8/10 conversion routines could read past the
counted end of the buffer if the string is correctly formated.
The number of characters is now checked and decremented for every
character that is consumed for processing.