Cleanup, update some 5.4 code to 5.6, taint stuff

Consolidated excessive File::Spec calls in 03_ex.t

3 arg opens were downgraded to 2 arg opens at one point to pass for 5.4.
However, the minimal Perl version was later changed to 5.6 so we can go
back to the best practice 3 arg open. Also updated $^W to 'use warnings'
for the same reason.

Some taint stuff was added, but tests do not pass and i'm not sure if
the test suite will ever be able to pass with -T without quite a bit of
reworking.