Add .editorconfig
Add gulp build
Match filename casing to class name
Add Optional.flatten and make small renames

Also fix indentation