Addition of Safari Push for Websites

This starts the addition of Safari Push.

I've changed the iOSVariant to be now called APNsVariant

There are still some things that need to be done, such as making sure all references to iOS in the javadocs are changed to APNs

Probably some tests to add

on the UI front,  the example implementation needs to update to include a safari version

setup can be a bit of a pain, check here for more info, http://blog.lholmquist.org/safari-push-notifications/


so anyone who wants to test,  GO FOR IT
let;s align the formatting;

what happens if NULL is set? On above values java-apns is smart enought to ignore on the internal JSON -that keeps the builder pattern nicer..