LHCb online system, data acquisition and experiment control: Technical Design Report