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 


These methods will need to be public, otherwise how do I know what the integer value passed to the `Downloader` menas?