Merge pull request #219 from fegin/master

New backend can't support argmin and argmax. Rewrite them to remove sturctured arrays.
Use atexit instead of signal handlers
Add CTX back to initialize
Merge pull request #221 from rgardner/atexit-cluster-shutdown

Use atexit instead of signal handlers
Fix bugs for row tiling, now on col tiling
Minor changes
Fix bugs to input dimension constraint
Merge pull request #222 from GabrielWen/diag_flat_fix

Bug fix: diagflat
The exceptions that cause by cloudpickle should be ignored.
Spartan should call master.shutdown() when the program terminates.