Experimentation and changes

Michael - greetings and amazing work on this project.  We have been using H2 for years as our in-memory database for testing, and finally hit limitations in compatibility with some of the queries we were writing, leading us to look for a good alternative that is compatible with mysql.  We came across your work and decided to see if it could work for us.  So far, it seems great.

As you'll see from this pull request, I've made a lot of changes in our fork.  Most of these were just the result of my trying to learn the codebase, and thus simplifying it for myself by reducing the number of classes involved, etc.  I didn't make any effort to make this backwards compatible, and don't really expect you to accept this pull request, but I wanted to send it to make you aware of it and to thank you for laying the foundation.  If you have any problems with any of the work that I have done, or any suggestions for improvement based on your experience, I'd love to hear from you.

The main features I have tried to add in that weren't previously available are a Configuration class that allows for passing in the port number to use to start the database, and any future my.cnf parameters that we wish to allow to be customized.  I also added a more recent version of mariadb for linux, along with the "mysql" binary that has allowed me to add in support for sourcing a large sql file.  My use case is to be able to easily install and start an in memory DB, source a (quite large) SQL file that contains the our database schema and populate all of the core tables with a significant amount of metadata, source another couple of SQL files that contains "test" transactional data, and then test against it.

I still need to add support for both Windows and Mac.  I'm still working out the best way to do this.

Let me know what you think, and thanks again for making this great work available.  Cheers, Mike