Automated way to transfer a villager from a minecart to a water stream?
Solution 1:
This seems to work, though slowly. It could be improved with more engineering but that might best be done in the specific situation you want to use this mechanism. Tested in release 1.7.4.
The carts come in on the rail line (towards the camera) and hit the cactus, breaking. Hoppers underneath return the cart to storage. The zombie encourages the villager to move left, walking on to the open trap door (there is an opening to the outer world to the left of it) and falling down into the water instead. Notes:
If the trap door trick stops working, you could use a tripwire to pull out the ground with a piston, or similar tricks. The key is that there is a spot of apparently-reachable solid ground for the villager to decide to walk to, which then turns out to actually dump them in the water stream.
I'm not sure whether the zombie is actually helping. I'm pretty sure you can use zombies to scare villagers into moving, but I don't know if this specific arrangement actually does so.
Based on snapshots, it is expected that in future versions of Minecraft an Activator Rail can be used to eject minecart riders; this does not change the getting-into-water problem but removes the need for the cactus and hoppers.