sbt build cleanup: split Autogen in two

the JFlex stuff and the Events stuff didn't really have much
in common. nicer to keep them separate
Merge remote-tracking branch 'origin/5.0.x'

Conflicts:
	build.sbt
	project/EventsGenerator.scala
code improvement in project/NativeLibs.scala
get rid of sbt git plugin

I haven't been using it, assume no one else is either
convert nvm.Procedure to Scala

and there was much rejoicing
Procedure: minor code improvement
profiler extension needed changes due to Procedure conversion
include a top-level LICENSE file in repo

this is recommended standard practice on GitHub
bring findbadexecutebits script up to date
support :quit and :exit in headless.Shell

if you're running it using run-main inside sbt, control-D doesn't work
to terminate input, so you need something like this
pull in model fixes
reformatting and minor cleanup in IdentifierParser
replace old StructureParser with parser-combinator-based rewrite
sbt build: relocate more stuff to build.sbt

didn't realize before that this seq() trick existed
remove unused code in sbt build

how'd this happen? an oops when merging, I guess
fix up autogen stuff in sbt build

the caching stuff wasn't set up right. so if I changed one of the
.flex files, JFlex didn't run automatically. now it does.
remove special "magic open" support from lexer and language

instead, handle the ___ syntax specially in app.CommandLine, in
GUI-only code

it was a bad choice to have ever made this part of the language in the
first place, and a really, really terrible choice to have made it part
of our lexical syntax (!!!!).  a pox on my past self.
reformat JFlex input files

a last vestige of our old, Tufts-era Java formatting style
remove stray blank lines
remove GUI-specific primitives from NetLogo language

__set-error-locale, __english, __spanish: gone entirely
__reload, __change-language: special cased in app.CommandLine

doing the CommandLine thing instead avoids cluttering up non-GUI code
with GUI-specific stuff.  the new way is kludgy as well, but at least
it's all in one place.

also, AppEvent is now split up into separate, single-purpose events
(well, the new LoggingEvent is still multi-purpose, but oh well)