David Cameron resigns as MP