clean copy of griddiag.py

and tell mcidasv.rbi to use it.

[1720]
Simplest proof of concept: keepMetadata decorator
[1720]
Don't need GridMath override if we do it this way
[1720]
try to not die if first arg is not a flatfield,
or if there aren't any args.
[1720]
Clean copy of grid.py
And corresponding change to mcidasv.rbi
[1720]
Also works for e.g., makeVector formula
[1720]
Tentative Fix for NPE with "toolbar" bundles.

[1718]
Merge pull request #93 from mhiley/inq1720-decorator

implement inq1720 using decorator
Override IdvUIManager.favoriteBundlesChanged().

This allows McV to update the toolbar bundles as changes are made.
[1754]
Cleanup in UIManager.buildBundleTree(). [0]
[0] Dreamweaver updates synced from web server.
[0] Dreamweaver updates synced from web server.
Persist state of image preview checkbox. [1726]

It turns out that there was already code to persist the selection. The
reason it wasn’t working is because we needed a boolean value and it
was saving an integer value.
[0] Dreamweaver updates synced from web server.
Add hasAddeErrorCode/getAddeErrorCode. [1682]

These methods already existed in VisAD’s AddeException, but had not
been added to McV’s AddeJythonError exception hierarchy.

Also did a little formatting clean up.
Add and handle AddeJythonInvalidAccountError.

[1682]
Add and handle AddeJythonAccountingRequiredError.

AddeJythonAccountingRequiredErrors (whew) will be thrown if ADDE
returns an invalid accounting error and the user didn’t provide any
accounting details—which means they’re using the default accounting.

[1682]
Add and handle AddeJythonBandRequiredError. [1682]

AddeJythonBandRequiredErrors are thrown when the user has not provided
a band for a multi-banded image.
Don't make redundant strings. [1682]
Clean up JythonManager. [0]