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.
Added autoloads for jss-connect and jss-http-repl
Added special comments so package.el knows the version and description of jss.el
Add dependency on js2-mode
Fixup comments in jss.el so the generated readme doesn't have confusing junk in it.
Misspelled variable name 'connection'
Specify eval time to eval-when in jss-browser-api's definition of jss-remote-value-counter
Define jss-http-repl-process-sentinel before its used so the arguments are known at compile time
Cleaup up (require 'cl) forms and function names so that emacs will warn about cl less and the real warnings/errors will be easier to spot. This probably breaks compatability with emacs 24.1
Merge remote-tracking branch 'origin/melpa'

This code is in melpa, any further work can continue on master or its own branch.