Support libc++ <unordered_map>; use --seed instead of -seed.

All "long" command-line options (i.e., all options) now take two hyphens,
GNU-style, instead of one hyphen.

Re-add "-march=native" to the Makefile. It works now; I don't know what
was wrong before. However, Clang no longer supports -O99; use -O3 instead.

libc++ seems to have std::unordered_map in the <unordered_map> header,
even in C++03. (Full C++11-ization is a job for another day, and will
be complicated by the fact that Homebrew's wxWidgets version 2.9.4.0
is linked against Apple's pre-C++11 libstdc++, which means wxgui can't
be built with libc++, which means it can't be built with C++11.)
Add a .gitignore for .o files and executables.
Pragma-once-ify all .h files. No change in behavior.
Speed up GameState::toComparableString().

It was using std::vector AND new/delete?
That was a bit embarrassing. It's still not great,
and C++03 probably doesn't sort std::strings very fast,
but this is about a 5% speedup to ai_move overall.
char*-ify StarSystem::toComparableString().

No more returning small std::strings by value!
This may not significantly help.
Un-stupidify GameState::removeSystem().

This actually helps ai_move dramatically: another 10% speedup.
Add C++11 support to the Makefile; refactor some verbose code.

The "const" versions of GameState::systemNamed() and GameState::homeworldOf()
are just copies of the "non-const" versions. Make that more obvious (and
easier to refactor in the future if necessary).

Again, full C++11 support (move constructors, emplace vs. insert)
will come later, once I figure out how to deal with WxWidgets on OSX.
Right now the bottleneck appears to be append_move() due to all its
copying of AllMapT::value_type, which is a pair of a std::string
(expensive to copy) and a WholeMove (essentially a std::vector, even
more expensive to copy).
Use a neater approach to extracting a std::string from a subarray of char.

No intended functional change.