first pass implementation of validation operations - need to test on a better data layout
latest TODO version
added extra rules to match current dev directory
fixed bug with directory matching and ** and files e.g. .git/**.* failed to match .git/gitk.cache
also fixes bug with not matching files in the root directory e.g. directory = ""