Fixes visibility outside of package
Adds all the design patters into DesignPatterns.java
Adds out/ directory to .gitignore