John Long (MP for Shaftesbury)