Setitem array slice - fix for bug #587

Ready for review 

Fix for "LoweringError: No definition for lowering setitem(array(int64, 1d, C), slice3_type, int64) -> none #587"
If a user uses a zero step, a[x:y:0] python throws a
ValueError: slice step cannot be zero
In the function that generates the llvm IR, it checks for a 0 step and throws an AssertionError.  
The unit tests test for the AsertionError and the unit test is wrapped with the exectedFailure decorator to ignore it.