Added new error type
Moved some Vec and String to &[] and &str
Use a TreeMap to store prepared statements
Use tag to create prepared statement.
Use [] instead of Vec