CIRCOM: A Robust and Scalable Language for Building Complex Zero-Knowledge Circuits