Use new data folder, and test file_to_directory().

Created a Data folder that contains testfiles to be used in testcases,
Now each test methods that require these files will copy them from the
Data/ folder before actually using them, this allows us to reuse data
files with different names.

Added a 2 test methods for file_to_directory(). First check if it
creates anything and second check if the file it created is a directory.
Fix creation of tmp files.

file_to_directory() and directory_to_file() both checked for .bkp.%d file
when creating trying to create .tmp.%d files. Fix it so they check for
.tmp.%d instead.
Add test case for directory_to_file()

Added a testcase for directory_to_file(), same as the last commit checks
for the creation of a file and its type.

Also added Data files necessary for this test.
Discard functino names from test method names.

Renamed test methods without the name of the function they are testing
for, since the function name is used as the class name there was no need
to repeat it.
Test data integrity after file/directory convertion.

Added 2 test methods for directory_to_file() and file_to_directory() to
make sure the rules are the same after the convertion.
Ignore ~ and ! in categories.
Update README
Fix #11

argparse will now consider everything specified after the atom argument
as a use flag regardless of the syntax or the number, with this we
killed 2 birds with 1 stone. 1. this fixed issue #11 as argparse will no
longer try to interpret these flags as command-line switches and 2. this
made supplying use flags easier since it no longer requires the
`-e/--enable` switch.
Fix #12 with the flaggie method.

Fixed issue #12 using the flaggie method of deleting flags with the %
prefix. Now when you supply a flag on the command-line with % prefix it
will be removed the flags list.

Also removed the -d/--disable command-line switch since it was no
longer needed.