Note: this solution may not work for everyone...you give up some control because changing the appearance of the shadow can only be done in the compositor AFAIK. See the end of my answer for more details.
There is a simpler way to build a basic shadow catcher now, thanks to Blender 2.78c. There is no longer even a need for a material, just enable "Shadow Catcher" in the
Cycles Settings panel in the shadow catcher plane's object settings.
For more advanced tweaking of the new shadow catcher, you can add a material to the plane as detailed in this article:
See here for more info, or the section in the Blender manual here.
This image literally took less than ten minutes to make thanks to this free model by MAC2001, this free model by hasapeta, Greg Zaal's amazing, free HDRIs, and this new Blender feature.
This solution is not easily adjusted, however, as Jeroslav notes in the comments:
Unfortunately this method is very limited and will provide only black shadows, no color bleed...For someone it may work, but this does not produce correct result in general.
You can actually get somewhat more control over this shadow method by putting the shadow catcher on its own render layer and playing with it in the compositor. In this case, I put the shadow catcher on a different layer that had the layers that my cars were on as a mask layer. Enable the environment pass for one of the layers so you can get the HDRI in the compositor.
Here is a possible compositor node setup (note that I just made this so that it looks right to me, this is not technically "correct"). In this case, I gave the lefthand value of the compositor a slightly bluish tint as well as making it brighter (of course) to change the shadow color.