Raise ValueError if non-bool properties are passed to Graph.set_vertex/edge_filter()
Include support for vertex invariants in isomorphism()

This also properly handles self-loops and thus fixes #180.