BCAT (Budapest Complexity Analysis Toolkit): an open framework for research on algorithmic complexity