Fix JDK 1.5 compatibility issue

The IOException constructor that takes a cause argument wasn't
introduced until JDK 1.6 (unfortunately).

Added maven plugin to pom.xml that ensures only methods available in
JDK 1.5 can be used even when compiling with a more recent JDK.