Large refactoring so that the melpa build runs without (too many) warnings. (no runtime testing, only the compile step was run)

add in per-file requires; move variable/function definitions before
first use; update berwoser-api with methods that were only implicitly
being defined; add :group argument to all our faces;

This is step 1 for issue #5.
Added .gitignore (*.elc and *~ files)
Merge remote-tracking branch 'origin/melpa'

Testing passed, merge melpa refactoring into master. Fix #5.