Some UI Tweaks

I've made the output SQL field read only.  I've also added the
listeners for the button click and added some test cases.
Setting up the backend design

I setup the structure for this formatter.  Right now it seems
completely over designed.  One day, I think it could be nice to allow
for various configuration files so that different users could specify
different standards for their SQL formatting.  For now, it's just my
own personal preference.

In terms of design patterns and data structures:

- I'm using the interpreter design pattern to handle the parsing of
  each token
- I'm using a factory in order to produce the interpreters
- I'm using a linked list to keep track of the tokens.  That list
  gets passed around to the various interpreters so that they can
  back and forward track if required.