Galaxy generator

Just a very short introduction: This PR is supposed to separate galaxy generation (galaxy, sectors and star systems) from their state making it possible to experiment with new ways to generate the galaxy (see also http://pioneerspacesim.net/forum/viewtopic.php?f=4&t=133 ).

Current state:
- [x] Basic infrastructure: Sector and StarSystem generators consisting of pluggable generator stages (though the "pluggable" has to be taken with a big grain of salt. The stages are not as decoupled as they could be).
- [x] Moved current Sector generation code to generator
- [x] Moved StarSystem-level system code to generator
- [ ] **TBD: Move SystemBody generation to generator**
- [x] Basic savegame support (saving used generator to savegame and verifying it is compatible with code at load).
- [x] Switch galaxy generators on game load/start if needed

The scope of this PR is pure refactoring, i.e. giving the galaxy generator code a new structure without changing it functionally.

The branch might still be **history-edited** (rebased, commits squashed, reordered).

I was kind of expecting this. As a nested class, ```StarSystem::GeneratorAPI``` is a member of ```StarSystem``` and should have access to private members, but this was unclear before C++11 which clarified that aspect. A nested class that is a derived class at the same time is a bit obscure anyway ;)

> Alternatively you could move NewBody and the ~StarSystem into a protected section.

Hmm, I would expect the access to the private data members in the setters to be a problem, too. So, I think I'll go with making everything ```protected```.