Raise correct error for issue 1015

	When doing Limit((1+x/(n+sin(n)))**n,n,oo).doit()
	we raises an error instead of returning the wrong answer.

	Now, 1**oo == nan instead of 1.
also set test for 1**NaN == NaN
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.
Added documentation of singletons for Pow

- also, minor optimization
use items instead of iteritems
Reformat Pow singleton definitions as table, exclude expr with nan
PEP8: space after '('
Merge pull request #5 from skirpichev/zanzibar7-pr2606

a variant for Pow docstring
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
improved documentation of singular x**y cases
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
Remove duplicated docstring.
Merge pull request #2665 from jrioux/integrals

Remove duplicated docstring.
Merge pull request #2606 from zanzibar7/issue1015_patch

Raise correct error for issue 1015