Some new code and refactoring

        - Refactored code
        - Moved helpers and rules into separate files
        - Completed most unit testing for current stage of project
        - Updated documentation
        - Added new rules (with corresponding helpers):
                - fileExists
                - andFlagSets