The Bank of England has held interest rates at 4 in a "knife edge' decision, ahead of the autumn budget later this month.