Is it possible to automatically (without intervention) unload an animal from a minecart without destroying the animal or the minecart?
After toying around and looking at @MBraedley's response (Thanks for the inspiration and help btw :D) I came up with this:
I've done this on two orientations (as seen in the background,) and have not had any mine carts get destroyed or pigs killed. The only down side, is the fact that the animals gets slightly hurt by the cactus. The green wool is where the minecarted animal would be coming from.
A Hopper system under the water carries the minecarts to the appropriate place. The half slab is there so you can open the chest.
Lastly is the collecting pool for the pigs. You may be able to get away with having a one wide stream, but I found having a 5 by 4 pool is the safest way to do it. Make sure to put water in the corners (highlighted by orange wool) to make sure it flows properly. After this just make sure to continue the stream, to take your animals to wherever they need to be!
Thanks again to MBraedley for his post, and I hope this helps!
As of version 1.8, you can place an active activator rail where you want the animals ejected:
An active activator rail will […] eject mobs (including players) from minecarts as if a player had used the sneak control to exit the minecart (Minecraft Wiki)
The animal will be left behind as the minecart continues on to your minecart-storage system of choice.
Just dig so that you can look at the bottom of the minecart then break it that way, you don't need anything fancy.