ngon rewrite (1/many)

I'm really bad at this versioning thing. The list of things I didn't record is
quite long, so I'll try to be brief:

- I de-mavenized ngon because I couldn't figure out how to build for Java 1.7.
- I moved definitions away from expecting a particular map structure.
- I made that map structure part of ngon-data, a new project described below.
- I made ngon-ui-stub, deleted ngon-ui-stub, and made ngon-ui-test.
- I changed to JSON from XML (may still include XML option; see below).
- I re-mavenized ngon so I didn't need to include the org.json source.

Note: As of this commit, ngon-data doesn't build because the JSON database
implementation is incomplete. (By extension, ngon-ui-test doesn't build,
either.) Following this commit will be a line-ending-normalization commit,
and then I'll worry about fixing that.

ngon-data: This project describes what an ngon database must do, and will
provide the default implementation -- JSON -- and possibly others (XML?).
This is a separate project so that tools can be made that alter ngon data
without needing to link to ngon-core. Things like deck builders and set
editors, for example. (A game editor will probably need ngon-core.)

JSON vs XML: I have a litany of reasons to switch from XML, despite its use in
OCTGN (which would have made porting formats easier); most of the arguments,
though, come down to "the DOM API makes me cry at night". Seriously, it's
awful. Additionally I find the strict parsing and validation frustrating, and
the syntax is unwieldy at times.

JSON offers a number of advantages: Simplicity, a concept of typing, flexible
data structures, ease of serialization, and most of all, mtgjson.com. Of
course, our card structures will differ from mtgjson (see the tentative DB
implementation), but this will also be easy porting.

So a lot of things happened, but the end result is that this commit will
basically be the new 'initial commit' in a sense. I'm really awful at this.

Signed-off-by: stuyvenberg <stuyvenberg@wisc.edu>