That's happening because using u UV Mapping->Unwrap works best if you treat the UV Islands as if they are made out of paper. Paper doesn't stretch so if the UV Island you are trying to create would tear if you tried to make that shape with paper then it will also distort when you try to unwrap that shape in Blender.
PGmath is correct in that you should define seams for the model.(Or use 'Smart UV Project' which is usually very messy for complex shapes :(
Activate Edge Selection mode using the header button or by pressing Ctrl+Tab then select the second entry on the popup menu which is Edge.
Now select an edge and press Ctrl+e and look down the list for 'Mark Seam' the selected edge will now be highlighted in red. Now when you use Unwrap, that marked edge will form one of the edges in the UV map coordinates.

After unwrapping, I selected all the UV Islands and Pressed Ctrl+p 'Pack Islands' to re-align them. There is an option to Rotate the Islands which can be unchecked.
Here's the .blend so you can have a closer look at the seam placement.
http://www.pasteall.org/blend/34450