IO: UBC meshes
contributions from: thast, micmitch, review from lheagy
from pr 54
- discretize.TensorMesh.readUBC is now a wrapper for loading either 2D or 3D mesh
- discretize.TensorMesh.readUBC can take care of recognizing if the file is a 2D or 3D UBC mesh, or it can be an input given by the user (arg: *meshdim*)
- the original functions are now *hidden* class function under discretize.TensorMesh._readUBC_3DMesh and discretize.TensorMesh._readUBC_2DMesh
- comments in UBC files are assumed to be marked with "!" in front
utils.Zero: Numpy upgrades
contributions from: lheagy, review and comments from rowanc1, jcapriot
from pr 61
- Updates to `Identity()` and `Zero()` so that they are consistent with numpy upgrades in numpy=1.13.0 (https://github.com/charris/numpy/blob/master/doc/source/reference/arrays.classes.rst)
- use scipy.sparse.dia_matrix for spzeros (closed 60)