Fixed
* Fix bug where `use_cases` arg in `UserInput` not accounted for.
Changed
* Change initial `DataModel` generation logic to first generate nodes, then generate relationships
* Updated examples
* Remove `use_yaml_data_model` arg from `DataModel` generation methods, as it is no longer relevant
* Update `DataModel`, `Node`, `Relationship` and `Property` validation logic to better utilize `Pydantic` library
* Update `Instructor` dependency to v1.5.2
* Simplify LLM retry logic by better utilizing `Instructor` library
* Update printed results and progress of `DataModel` generating methods to be prettier
* Update Graphviz visual from `DataModel.visualize()`
Added
* Add `DataModel` validator to check for parallel relationships
* Add `allow_parallel_relationships` arg to `DataModel` generating methods
* Add `apply_neo4j_naming_conventions` arg to `DataModel` generating methods
* Add `get_schema()` to `DataModel`, `Node`, `Relationship` and `Property` to output a text version of schema