The Bank of England has raised interest rates from 3.75% to 4%, the first increase in more than three years.