Added Windows support

Added windows support, created specific exceptions to be thrown, removed need for user to specify backend parameter, only parameters specified by user will be used in building ping command, speed enhancements, converted project to maven, added unit tests.