Features
- Added `select`, `update`, `delete` and `create` statements to work in a similar way to `SQLAlchemy`.
- Rewrote subquery support - subqueries will be used when the API allows for it, otherwise an error will be raised (the old way would automatically execute the query).
Improvements
- Add a `clean_components()` method when building a `delete` statement, which will automatically remove matching components from every location.
- Stop automatically executing the query when checking for truthiness.
- Allow the use of `order_by` for sorting, and also accept `asc`/`desc` as strings.
- Added a `contains` method, which is the equivelant of `.like(f'%{val}%')`.