add invalid and user_data to Minimum and TransitionState

also update the migrate_db script.
deal more cleanly with failed normal mode calculations

raise a NormalModeError if a minimum appears to be a transition state or
a transition state is a higher order saddle.  This exception is caught,
a warning message is printed and the minimum or transition state is
flagged as invalid.
deal cleanly with invalid minima (ts) in rates and heat capacity
add a few more database tests
Merge pull request #14 from js850/invalid

add `invalid` and `user_data` to Minimum and TransitionState database objects