A Consensus-based Approach to Distributed Large-Scale Bundle Adjustment