Add pformat function for masked arrays

The default printing of numpy masked arrays does not line up the
elements well.  For example:

    [[3 6 9 -- --]
     [0 8 9 -- --]
     [7 9 -- -- --]
     [1 -- -- -- --]
     [2 5 6 8 --]
     [3 6 8 -- --]
     [4 5 -- -- --]
     [4 6 7 8 --]
     [1 2 5 7 9]
     [0 7 9 -- --]]

The output from the `numpy_helpers.ma.pformat` function on the same
masked array is:

    [[3, 6, 9, -, -]
     [0, 8, 9, -, -]
     [7, 9, -, -, -]
     [1, -, -, -, -]
     [2, 5, 6, 8, -]
     [3, 6, 8, -, -]
     [4, 5, -, -, -]
     [4, 6, 7, 8, -]
     [1, 2, 5, 7, 9]
     [0, 7, 9, -, -]]

__NB__ `numpy_helpers.ma.pformat` automatically adjusts the number of
       dashes used for masked elements to match the max number of digits
       _(i.e., character width)_ of an unmasked element.