idiff can return higher order derivatives

** Syntax was changed ** : dependent variables must be listed
in a sequence after y and be passed as "y". Whichever variable
is listed first is the y value that will be used. To differentiate
assuming that all variables are x-dependent, one could pass

idiff(eq, [y] + list(eq.free_symbols), x)

Any duplicates in y (when passed as a list) are ignored.
use items instead of iteritems
Don't try to import IPython when the python console is used.

With an explicit call to `./bin/isympy -c python` there is
no need to attempt importing IPython.
edit idiff docstring
Merge pull request #2661 from jrioux/interactive

Don't try to import IPython when the python console is used.
Merge pull request #2624 from smichr/idiff

idiff can return higher order derivatives