Multiple fixes to array.extend()

    * Fix self / other typecode compatibility check and add test

    * In CPython, PyErr_BadArgument() C-API function always raises an
      exception and returns zero

    * It is needed to add the `except -2` clause, so that the exception
      raised by PyErr_BadArgument() is not ignored

    * Additionaly, the `return -1` statement in array.extend() will have
      no effect, and hence is misleading, so it needs to be removed

Signed-off-by: Yury V. Zaytsev <yury@shurup.com>

--HG--
extra : transplant_source : e%BE%0A8%0D%B6%A4A%B4%9F%98bZ%ED%C5%CD%D9%AD%E0%7C
fix some more exception handling in array.pxd