Taming the Complexity of Biochemical Models through Bisimulation and Collapsing: Theory and Practice