Also introduce twa::unregister_ap() and twa_graph::remove_unused_ap()
so that the methods where this behavior is expected can be fixed.
And fix ltsmin::kripke() which did not register APs.
Part of #170.
* spot/twaalgos/hoa.cc: Use apvars() to print all registerd APs.
Throw an exception when printing automata using unregistered APs.
* spot/ltsmin/ltsmin.cc: Call register_ap().
* spot/twa/twa.cc, spot/twa/twa.hh, spot/twa/twagraph.cc,
spot/twa/twagraph.hh (twa::unregister_ap, twa_graph::remove_unused_ap):
New methods.
* spot/tl/exclusive.cc, spot/twaalgos/postproc.cc,
spot/twaalgos/remprop.cc, spot/twaalgos/relabel.cc: Use them.
* tests/core/maskacc.test, tests/core/maskkeep.test,
tests/core/strength.test: Adjust expected results.
* NEWS: Mention those changes.
Fixing this bug alone revealed another bug: parsing never claim or LBTT
automata did not register APs. So this fixes both bugs.
This is the first part of #170.
* spot/twa/twa.hh (register_aps_from_dict): New method.
* spot/parseaut/parseaut.yy: Call it for never claim and LBTT files.
* spot/twaalgos/stats.cc: Simplify using ap_vars().
* tests/core/ltl2tgba.test: Add a test case.
* NEWS: Mention the bugs.
This allows bitvect.hh to compile with icpc 16.0.2, but the whole
project does not yet compile due to a bug in 16.0.2 that prevents
compilation of unordered_map::emplace() from the STL shipped with GCC
5.3.1.
* spot/misc/bitvect.hh: adjust friend declarations.
* bin/common_range.hh: Store the common definition of words.
* bin/autfilt.cc: Use it.
* bin/ltlfilt.cc: Likewise, and implement those two options.
* tests/core/acc_word.test: Test them.
* doc/org/autfilt.org: Augment the last example to point out
that it can now be done with ltlfilt.
* NEWS: Mention the new options.
* spot/twa/twagraph.hh (edges): Do not hide from SWIG.
* spot/graph/graph.hh: Hide stuff that SWIG do not understand.
* python/spot/impl.i: Add some typemaps and fragment to
iterate over the result of twa_graph::edges().