Fix up the pom file for my hosting.

Fix up the pom file, preparing it to be used to deploy to Maven Central.
Also fix up some whitespace issues, and lock the versions of all used plugins,
since maven couldn't apparently figure out which versions to use.
Remove some extra files that are not used.

Remove some old tests file that are not used, along with a pre-compiled jar
file that came from somewhere.
Add IntelliJ IDEA files to the .gitignore file.

Also ignore the IntelliJ IDEA files.
When multiple empty keys are found, make sure they are all stored in the output.

Even though most users won't run against this, in case multiple empty keys are
found, store them all under @? where ? is a 0-starting index.  Also include a
modified MATLAB file to test these conditions.  Note that MATLAB just ignores
all three inputs.
Add a .travis.yml file, to enable Travis CI.

Get this going for sanity checks.  Test against both JDK 6 and 7.
Add a system to deal with reduced header MAT files.

Files produced by Simulink, along with embedded MAT files inside of MAT files
don't have the full header.  Thus enable parsing them as necessary.
Add in the beginnings of an MCOS parser.

MCOS is handled completely separately through a weird format.  Thus, start
supporting it by reading in the necessary data.  Currently it isn't fully
parsed, as the first unit test doesn't require extra data.  Also include the
MATLAB class file used to generate the test.
Minor code style.

Fix some comment misspellings and formatting, and remove unused imports.
Rename com.jmatio to ca.mjdsystems.jmatio.

To match the new Group Id, switch the package name.  This also moves the
package name under a controlled domain, avoiding potential name collisions
later.
Add a test for multiple simple empty MCOS.

Verify everything continues to work with multiple elements.
When parsing the MAT file header, store the byte order used as well.

For applications parsing the MAT file later, they may need to know the byte
order of the original file.  Thus store that information in the header.  Note
for writing it is possible to change the endian indicator without changing the
byte order returned.  This should eventually throw an exception.
Start parsing the binary blob.  First things first, get the class name.

For the future, the class name will need to be fetched before I know about
the placeholders.  Thus read in the class names and use that now.
Make sure the MCOS header for objects is present.

To avoid future surprises, make sure that the MCOS header bytes for an object
are correct.
Get a first run of attributes working.

Any class that has default attributes only is now fulled loaded and parsed.
Other attributes are currently skipped.  Also commit in a test for this
behaviour that uses a char array as a single parameter.
Fix bad documentation.

Don't mislead in the documentation.  When reading 24 bytes, 24 bytes are read.
Not 16.
Make sure fields names are properly set.

Due to the way MATLAB stores field names for structures, individual items
in the structure don't have names.  Thus, one must use the field name.  Fix
the grab bag parsing to do this correctly, and add a test to verify correct
behaviour.
Start reading more property related fields.

To support multiple objects with differing field values for the same class
type, it is now necessary to actually parse segment 4 and act accordingly.
Thus do that, and add a test to ensure the behaviour is correct.
Add tests around handle handling.

Ensure handle classes have away to to compare for object equality.  Due to
the current design of MLArray, this cannot be done per object.  So instead
the same Objects share the same structure.  Eventually this should be fixed.
Add a decoder for Simulink derived MAT files.

Simulink will encode its MAT file using a form of base64, using uuencode's
key.  SimulinkDecoder is a very simple stream based class to parse it.
So, the value I had though was the object id is not.  Fix.

In the third segment, it appeared that there was an object id, related back
to the object id given in a structure.  However, this is not true at all, as
MATLAB will randomly decide what values go here.  However, the index into this
segment seems to be the actual object id.  Thus switch to using that value.
The meaning of the other field is left for someone else to divine, it isn't
important here.