Fix Image.fromarray with NumPy arrays

Image.fromarray attempts to call a method called `tobytes()` on the passed in object, but NumPy arrays don't have a `tobytes()` method, they have a `tostring()` method. (See http://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.tostring.html).

I think this was changed accidentally in a Python 3 compatibility update in which this call was confused with the `tobytes` and `frombytes` methods of Image objects.
Adding a test of fromarray that exercises the if strides is not None block.
ducktype the array_interface obj to see if it provides tobytes or tostring
Merge pull request #225 from wiredfool/pr224

Fix Image.fromarray with NumPy arrays: Supersedes PR #224