GupPet has worked well for me, especially for my druid with his travel and aqua forms.
This add-on supports mounts (haven't used this feature too much but it seems to work well for random mount selection based on skill and zone (selects the fastest etc).
It supports companions (random/repeat selection) and personal travel forms (
correction: support for Druid, Shaman and Mage classes) though I have yet to test it with my hunter's Aspect of the Cheetah. My druid's forms are chosen depending on his location. Cheetah (travel) for outdoors, Lynx (kitty with speed talent for indoors) and Sea Lion for when I'm swimming in water. I have a key bound for my forms when traveling in that fashion.
Oh, it also pretty much works out of the box (assuming you know how to install add-ons) but I believe you need to position a couple of buttons on your screen for summoning your companions and mounts (not sure if these can be disabled but I have every reason to believe they can be). Adjusting it's settings with your preferences will tailor it to your specific needs and wants and can really make it shine.