This update is primarily courtesy of Josh Ayers and his work on the `pyyeti.nastran` package:
- Many read routines in `bulk` can now follow "include" statements
- Nastran logical symbols can be read in via ``bulk.rdsymbols``
- Added general writing routines: ``bulk.wtcard8`` and ``bulk.wtcard16``
- Updated many routines to use new those two functions
- Added "smart" formatting to floating point fields via ``bulk.format_float8`` and ``bulk.format_float16``
- `wtcard8` and `wtcard16` use these routines
- Added more bulk data output routines to `bulk`:
- `wtmpc`, `wtspoints`, `wttabdmp1`, `wttload1`, `wttload2`, `wtconm2`
- Added automatic usage of "THRU" for some cards
- Added the ``op2.rdop2gpwg`` routine
Doc update for ``pyyeti.ode.SolveUnc`` to include equations for real uncoupled ODE
Fixed paths in some tutorials (thanks to P. Blelloch for pointing this out! :-)). Fix required moving "tests" --> "pyyeti/tests". This won't affect users, but developers will have to pay attention.
Miscellaneous other cleanings by Josh and myself.
A *huge* "Thank you!" to Josh for his work on this update!! :-)