Added swap macro that copes with multiple types.

Exercise 4-14.