Add ability to only include selected subdirectories in a project.

For large codebases, path exclusion is unworkable (too many paths to exclude).  It's better to only include the directories you want to include.

This series of patches accomplishes that, by changing the .projectile file so that entries prefixed with + are subdirectory includes, - are subdirectory and file pattern excludes, and no prefix are also subdirectory and file pattern excludes, to preserve backwards compatibility.

Point of caution: I've had to rework the source control commands to work on directories as opposed to whole repository.  I'm not 100% sure they all are correct.  This needs user testing, to make sure I haven't broken anything.  Additionally, due to my unfamiliarity with the project, it's certainly possible I've introduced bugs, so you may want to review my changes extra carefully.