taglib freezes on certain mp3 files
Readd Taglib.Mpeg4.FileParser.UserDataBox property

The UserDataBox property was renamed to UserDataBoxes and its return type
changed to an array between 2.0.3.7 and 2.0.4.0, resulting in an ABI
breakage. This patch readds the property for backward compatibility.
Use gacutil for ICSharpCode.SharpZipLib check
Fix monodocdir
Merge pull request #9 from omgtehlion/master

Fixed freeze on some mp3-files, where header was at the end of file
[Tests] Fix some compiler warnings
[File] Properly implement partial matching for File.Find and File.RFind

Remove the need to care about partial matches be always rewinding the stream
a little before reading the next chunk of data so that we can ensure we
never have data which exists at the end of one read and the start of
the next.
[Build] Commit the updated csproj/sln files

We're now VS2010 format and do not enable Makefile integration. This
fixes the build from MonoDevelop/Visual Studio.
Test
[Mpeg4] Ensure that we parse AppleAdditionalInfoBox elements properly

We do not care what the contents of these elements are. They can literally
be anything. As such, we should parse them as a black box and assume
nothing about their contents. Add a test to ensure we parse the file
correctly.

Fixes bgo 658920.
Didn't fix this test, but it is at the very least documented for the next brave individual that tries to fix it
[Mpeg4] Fix parsing of some more apple tags

We correctly handle 'text' atoms inside an 'stda' atom now.
[Build] Glob together all the cs files for the taglib makefile build

Keeps things nice and simple!
Add partial support for IPTC-IIM

Allows reading a subset of possible IPTC-IIM tags from JPEG files.
Specifically those tags are read that directly map to XMP tags.
If both XMP and IIM tags exist the XMP tags take precedence.

This change supports IIM as far as necessary to import images from
Mediadex into f-spot.

Signed-off-by: Alexander Kojevnikov <alexander@kojevnikov.com>
Solution code formatting policy
Fix nested UDTA boxes

Fixed bug where a Udta box nested inside a track would be picked in
preference to one at a higher level in the tree.

Signed-off-by: Alexander Kojevnikov <alexander@kojevnikov.com>
[Mpeg4] Attempt to handle corrupt tags a little better

If an mpeg4 file contains an atom whose length is greater than the
amount of bytes left in the file, mark the file as corrupt and bail
out of the parsing step.

Fixes bug #676934
Mark the file as corrupt instead of throwing exception

Fixes bgo#643477

Signed-off-by: Alexander Kojevnikov <alexander@kojevnikov.com>
An additional MarkAsCorrupt call
StartTag.ReadTag should not silence exceptions

Signed-off-by: Alexander Kojevnikov <alexander@kojevnikov.com>