Move contents of chemtools.utils to the top of fileparser

This change is to simplify the use of fileparser as an independent
agent. This in turn changes dataparser to import from fileparser.
This change negates the need to make a hack to make the fileparser
a single file when it is deployed.
Fix bug in molecule id where it would randomly report incorrect info

The issue stems from the fact that the order of the sort is dependent
on the id() of the Atom objects, and the id() of an object by default
is based/related to the memory location. This causes the value to
vary. To fix this, the key for sorting is changed to the atom id
property, which is the number of the atom in the molecule and not the
python default.
Add function to identify noncycle features of structures
Clean up chemtools.graph.run_name