Adding CommandFactory and Command interface for JobApplyCommand
Add missing ID and String phrase of ConfidentialPhrase.

I originally accidentally removed those two fields from the class, and that's led to confusion during this exercise on a number of occasions.
Merge branch 'master' of github.com:TheLadders/solid-exercises
Adding updates by Daniel
Adding Command interface
OpenClosed: Refactoring step 1 and step 2: how to handle adding to the enum
OpenClosed: Re-implementing an extensible Enum by class
Adding ExtensibleConfidentialPhraseCategory
Changing boolean to isType of ConfidentialPhraseCategoryType