BiDomain: fix dumb compiler errors
Further genericize WFA::genericFwpdsPoststar

Now it takes the weights for the query automata (instead of assuming that it should be the 'one' weight of the WPDS rules/original WFA transitions), and also takes a WPDS instance so you can use more than FWPDS. Because of that latter fact, the more generic version is at 'genericWpdsPoststar'. :-) (The original remains present.)
UNTESTED Add a "print_typename" function to SemElem
SQUASH WITH PREVIOUS
SQUASH WITH PREVIOUS
UNTESTED Demangle SemElem typename
SQUASH WITH PREVIOUS
BiDomain: assert that the held element is of an appropriate type
Improve printing of KeyedSemElem typename (print_typename())
WFA: refactor for_each functions
WFA for_each: now can take a generic functor object

This is instead of inheriting from TransFunctor explicitly.
Turn off -Wundef because Boost gives too many warnings
WFA: for_each revert to using old functions for descendents of TransFunctor
Add new WPDS -> WFA conversion function, WPDS::toWfa

This obviously (?) works only if the WPDS has no delta 0 and no delta 2 rules, otherwise it does the natural thing (including acting smartly about whether it pairs the PDS control location in).