Switch NPN from optional to provided.

Optional dependencies get included in the fat jar but are not transitive. Provided dependencies do NOT get included in the fat jar and are also not transitive.

I believe the former is a bug in the Maven assembly plugin so the latter case is used as a workaround.
Merge pull request #295 from square/jw/switch-optional

Switch NPN from optional to provided.