Wrong feature gate in the macro example

The example using the macro try to use #![feature(plugin)] but this feature gate doesn't exist. The correct one is #![feature(phase)].
Merge pull request #31 from dzamlo/patch-1

Wrong feature gate in the macro example
Rename fail! to panic! to fix build
Merge pull request #32 from darinmorrison/master

Rename fail! to panic! to fix build
Fix warnings.
Make functions with 4 parameters testable