Fines issued for only seven of 4,123 oil spills since 2000, with no company having to pay more than £20,000