Bugfix for replace_all_uses_with function and feature for getting successor blocks for a BB

The first patch is a bugfix for the Instruction.replace_all_uses_with function, where an invalid pointer (to the python object, not the C wrapper object) was passed.
The second patch adds a "successors" attribute to BasicBlock, which lists all basic blocks following this one.