Multi-instance support

Only works in the GUI for now, doesn't break  the command-line client but the new options are not implemented.

Related to #29 
Oh. Are dictionaries ordered in C#? Is there a way to get the first element in one aside from a `foreach..break` loop? (In Perl they're not just unordered, but practically guaranteed to change order every time you run the code.)