Second pass of hacking to handle breadth-first deme spawning
Replace demeID_t as unsigned by its own custom class

demeID_t now inherits std::string, containing basically "N" when there
is no breadth first search and "N:M" when there is (N being the
expansion index and M the breadth first index of that expansion).
Last round of change to implement breadth first deme expansion