The original version of this article unfortunately contained a mistake. All algorithms are missing in the online PDF version. The original version has been corrected.