setup.py doesn't work with futures.
Oleg proposed that checking if semantic actions are callable() is enough, and he's right. They don't have to be methods.
Added tag 2.0.0 for changeset 1bc2fe7ea393
Merge with origin repo