Inverse problems for quantum graphs