Limits: limit of order term should raise error

See https://github.com/sympy/sympy/issues/2865

A few doubts:-
1) I'm not sure what type of error should be given. Now I give a ValueError. Tell me if some other error is to be given and if error message is to be changed.
2) Output for ```limit(Order(2)*x, x, S.NaN)``` was ```S.NaN```, now it gives error. Is that correct?