besides the wonders of a block heater and grill block here's a quick one that some of you may not have thought of. while the engine is cold turn your heat dial all the way down. this will cut off coolant flow to the heater core which also acts as a smaller secondary rad. once the car starts to warm up turn the heat back on. i find it cuts down on warmup time a surprising amount for me, so just passing it along.
that and the engine heater and my car is warm in less than 5 mins in the freezing cold weather