Combined file counter operations for Session and RmShredDevice into rm_shred_adjust_counters
Modified output into slightly for progressbar to show bytes remaining
Conformed csv comma escaping to http://tools.ietf.org/html/rfc4180 pseudo-standard
Merge branch 'develop' of https://github.com/sahib/rmlint.git into progressbar
Moved mtime filtering of duplicate groups into shredder.c
Required because each time we kick a file out of a RmShredGroup we
need to check the mtime property again.
Made node_table hashtable more robust.

Note: g_int64_hash simply casts a 64-bit integer to 32-bit, so in effect
with the previous code:
    node_key[0] = file->inode;
    node_key[1] = file->dev;
file->dev was simply being ignored.

Of course g_int64_equal will correct this oversight but at the cost of
a (small) linear search when encountering two files on devices but with
same inode number
Modified size_groups hashtable to incorporate basename checks.
Note: requires new pointer RmFile->settings, which in turn required
splitting settings.[c|h] away from session.[c|h]
Minor rewording of switch (4 lines less code)
Tidied up rm_pp_handle_hardlinks logic
Reinstigated the dreaded settings->invert_original
Got rid of dreaded invert_originals in favour of cleaner approach
settings->keep_all_tagged => keep all duplicate instances in paths tagged with //
settings->keep_all_untagged => keep all duplicate instances in paths not tagged with //
settings->must_match_tagged => ignore duplicate sets with no member in paths tagged with //
settings->must_match_untagged => ignore duplicate sets with no member in paths NOT tagged with //
Also CAPITALISED a couple of #defines
Disallow --keep-all-tagged and --keep-all-untagged similultaneously
Bugfix for opt_use_ln using wrong originals path
Bugfix for incorrect sorting of RM_LINT_TYPE_EDIR
(fixes incorrect handling of recursive empty dirs)
Only use sudo when required
Merge pull request #79 from SeeSpotRun/develop

Agreed to previous reasoning.