Do not merge - Introduce Network Policy API

Still need to add javadoc and a few tests but starting the review due to different timezones.

closes #438 


Just call `.build()` here and get the `Request`.