Change the $thumb_proportions variable to be a theme callback which
takes an item as an argument.  This will let us figure out proportions
in the case where a module has defined custom thumbnail sizes.
Add an event that will collect all valid filename extensions.
Add an event for when a new graphics toolkit is chosen.
Merge remote branch 'origin/master' into rawphoto
Resolve an infinite recursion that happens when the path caches are updated during saving.
Support data files that change their extension and MIME type.
Create a tempnam substitute that safely creates files with a given extension.
Preserve old data files long enough for them to be available to event handlers.
Don't assign to the item->name field if the name is unchanged, because the save method will crash.
Expose the data file field.
Merge branch 'master' of https://github.com/gallery/gallery3 into rawphoto
Move the extensions helpers out of the Kohana system directory and into their own Gallery Extensions class.
Merge branch 'master' of https://github.com/gallery/gallery3 into rawphoto
Remove a newline at the end of the file that I accidentally introduced.
This patch helps provide raw photo support with some small changes to the framework. Items can now change their extension and MIME type.

Squashed commit of the following:

commit 4c2b2ebd3f2052898fbfb175650ed4cf49c8006e
Author: Chad Parry <github@chad.parry.org>
Date:   Wed Apr 27 20:52:35 2011 -0600

    Remove a newline at the end of the file that I accidentally introduced.

commit 6d564f185e5279d6cca9a7385066514ff18a2455
Merge: 7ff485f 4060640
Author: Chad Parry <github@chad.parry.org>
Date:   Wed Apr 27 20:35:58 2011 -0600

    Merge branch 'master' of https://github.com/gallery/gallery3 into rawphoto

commit 7ff485fa48c392bbbb0370f67cb1bd6fcc00c2a4
Author: Chad Parry <github@chad.parry.org>
Date:   Wed Apr 27 20:29:06 2011 -0600

    Move the extensions helpers out of the Kohana system directory and into their own Gallery Extensions class.

commit 26585fed03236f0f70a75959e1d3002025f4e15e
Merge: 809567f c8f90e8
Author: Chad Parry <github@chad.parry.org>
Date:   Sun Apr 24 08:28:39 2011 -0600

    Merge branch 'master' of https://github.com/gallery/gallery3 into rawphoto

commit 809567f12850f59bdeb47a2963f6968b99b5a201
Author: Chad Parry <github@chad.parry.org>
Date:   Sun Apr 24 08:10:04 2011 -0600

    Expose the data file field.

commit fcb06bf175bb9eeff36d9c294e97ace9374ef0f3
Author: Chad Parry <github@chad.parry.org>
Date:   Sun Apr 24 00:45:12 2011 -0600

    Don't assign to the item->name field if the name is unchanged, because the save method will crash.

commit c6ef706d70c7e48bea1145eec1b13fb5683e023f
Author: Chad Parry <github@chad.parry.org>
Date:   Sat Apr 23 22:55:59 2011 -0600

    Preserve old data files long enough for them to be available to event handlers.

commit 0d6a3a3cfc4f38f450db9e18da47a5e2ad826af8
Author: Chad Parry <github@chad.parry.org>
Date:   Sat Apr 23 21:19:47 2011 -0600

    Create a tempnam substitute that safely creates files with a given extension.

commit e149cf7238a1f8eaddfc68580f2d636dd8255795
Author: Chad Parry <github@chad.parry.org>
Date:   Sat Apr 23 16:39:25 2011 -0600

    Support data files that change their extension and MIME type.

commit 6702104f571413e4d57db3515b2070c48d3e9b55
Author: Chad Parry <github@chad.parry.org>
Date:   Sat Apr 23 16:35:00 2011 -0600

    Resolve an infinite recursion that happens when the path caches are updated during saving.

commit 944cb72eea946f4c45a04b7e4c7c33929fa8b9f3
Merge: 567522b 5af74d4
Author: Chad Parry <github@chad.parry.org>
Date:   Fri Apr 22 14:10:42 2011 -0600

    Merge remote branch 'origin/master' into rawphoto

commit 567522bfa08c370bb5baf8454afc5b04bc9e49b4
Author: Chad Parry <github@chad.parry.org>
Date:   Thu Apr 21 20:12:32 2011 -0600

    Add an event for when a new graphics toolkit is chosen.

commit 31ba081b793141ca36866a6dd349cd2eac5af68e
Author: Chad Parry <github@chad.parry.org>
Date:   Thu Apr 21 02:06:53 2011 -0600

    Add an event that will collect all valid filename extensions.
Change the name of the extensions helper to legal_file.
Change the name of the extensions helper to legal_file.
Change the signature of system::tempnam to something more appropriate for Gallery.
The data_file field is public, so we don't need to supply an accessor method.
Improve the comment explaining why the data_file extension is important.