Moved the macro definitions for BURST_VALUE and BURST_NEW_VALUE in common.h
Added new class strided_range to allow non-contiguous access to a thrust vector.

(this is a copy of a thrust example provided by N. Bell)
Added exception handling for zero pivot during banded matrix factorizations.

After an LU or UL factorization of a potentially partitioned banded matrix, check for
diagonal values that are below a given threshold in absolute value and throw a
system_error exception with code Zero_pivoting.