Initial commit of OAS (OpenAudioServer).
Made sure OAS compiles via cmake generated makefile.
 * Set up framework for reading input values from config file.
 * Audio can now be outputted to non-default devices.
   Use the "openal-info" command to lookup valid device strings.
* OASFileHandler:
    - Created wrapper around MXML library in FileHandler
    - Made FileHandler class non-static, so that different parts of the server
      can use the FileHandler independently of one another
    - Changed readFileIntoBuffer() to simply readFile()...let the buffer class
      handle the creation of the buffer

* OASServer:
    - Made the OASServer class non-static
    - Now reads from config file correctly
    - Added the OASServerInfo class, which contains data read from config file

* OASLogger:
    - Now routes log data to terminal or ServerWindow more nicely

* OASServerWindow:
    - Newline characters should no longer cause issues when adding to the browser

* OASSocketHandler:
    - Data in buffer is zeroed out before it is read
Open Audio Server (OAS)
* OASFileHandler
    - Created wrapper around MXML library in FileHandler
    - Made FileHandler class non-static, so that different parts of the server
      can use the FileHandler independently of one another
    - Changed readFileIntoBuffer() to simply readFile()...let the buffer class
      handle the creation of the buffer

* OASServer:
    - Made the OASServer class non-static
    - Now reads from config file correctly
    - Added the OASServerInfo class, which contains data read from config file

* OASLogger:
    - Now routes log data to terminal or ServerWindow more nicely

* OASServerWindow:
    - Newline characters should no longer cause issues when adding to the browser

* OASSocketHandler:
    - Data in buffer is zeroed out before it is read

* OASAudio:
    - Handles for sound sources start at 1 and are incremented by 1 for the next
      sound source
OAS
* Added a sample configuration file
OAS - Tabbed Interface Stage 1
 * Added tabbed layout to the server window
 * When the server window is closed with a client connected, the server no longer hangs
OAS
* Server now handles multiple instructions received as one single message
* Source handle numbers now restart from 1 when a client disconnects
* When the server is closed via the GUI, the audio state is manually cleaned up
OAS - Tabbed Interface Stage 2

* Refactored audio handling system, introducing a better class hierarchy.
* Refactored GUI system.
* The table view tab in the GUI is now functional.
* Default config file changed to same directory as the binary, "oas_config.xml"
* Inlined functions where appropriate.
* Miscellaneous code cleanup
OAS - Tabbed Interface Stage 3

 * The state of sound sources is polled at a regular interval, so that the
   table GUI updates automatically.
OAS - Removed sample code file.
OAS
* Audio source handles will now start from 0, instead of 1. This attempts to fix
  issues with the car showroom demo in the starcave.
* Parsing filename methodology has been tweaked slightly.
OAS
 * Added "SPIT" command, for changing the pitch of a sound source.
     Syntax: SPIT <handle> <pitch factor>
     The pitch factor should be greater than 0, with a default value of 1.
     Doubling the pitch factor increases the pitch by one octave, and
     halving the pitch factor decreases the pitch by one octave.
 * Added "WAVE" command, for generating sound sources based on waveform.
     Syntax: WAVE <1-5> <frequency in hertz> <phase in degrees> <duration in seconds>
     The first parameter is integer values from 1 through 5, and determines the wave's shape.
     1 -> Sine Wave
     2 -> Square Wave
     3 -> Sawtooth Wave
     4 -> Whitenoise
     5 -> Impulse
 * Fixed a bug with displaying lines with newline characters in the log window.
 * Removed the "Visual" tab in the server window.
 * Fixed some issues with const-correctness that were generating compiler warnings.
OAS
 * Fixed a bug with the timeout in the main server loop.
 * Decreased timeout duration to 100 microseconds. This increases the number of
   times the server loop is run each second, but still keeps idle CPU usage
   below ~3%. Further optimizations can be made to change the timeout depending
   on whether or not a client is connected.
 * Added "Copy to Clipboard" and "Clear" buttons to the log window tab.
   Only the "Clear" button is functional as of this commit.
OAS
 * Completed the "Copy to Clipboard" functionality for the GUI
 * Tweaked the user interface so the layout looks better
 * Fixed bugs related to using the wrong version of the delete operator
OAS
 * Added pitch column to table in GUI.
OAS
 * Added listener attributes and new server instructions for modifying these
   listener attributes (GAIN, SLPO, SLVE, SLOR)
 * Tweaked the cone angles for directional sound sources
 * The server will idle using very few CPU cycles when a client is not connected
OAS
 * Improved the encapsulation of audio units for the tabular visualization.
 * Closed a large memory leak
OAS
 * Updated the user interface so that it displays the listener information in a separate tab.
OAS
 * Various compatibility fixes for the various old OpenCover/VRML demos
 * Set source direction now takes the angle as radians, instead of degrees
 * Closed a small memory leak
 * Increased maximum read/write sizes for network communication