Grouped functions in the  Command class to match the Interface they are implemented from.
Added cleaner dividers between Interface functions.
Removed unused commenting in the SeleniumCommands interface
Added WindowBuilder class to allow user to open a new browser instance under the current WebDriver's control.
Added OpenNewWindow() to SeleniumCommands that starts our WindowBuilder object after validating user's url
Added SwitchToWindow() which checks if the user started a WindowBuilder object. If we find a valid WindowBuilder we call the switchToWindow() from our WindowBuilder object. Otherwise we assume the user is trying to switch to a popup window. In this case we store the parentHandle and search for any other windowHandles. If we don't find any we log a warning and return control to the parent otherwise we switch to the first window we find that is not the parent.
Added SwitchToParent() which looks for our valid WindowBuilder object and uses the switchToParent() function from inside. Else we check if they are trying to switch from a popup window. If both cases don't apply we warn that the call they made is invalid.
Added CloseWindow()  which checks if we have a valid popup or windowBuilder window which we close and return control to the parent.
Moved URL validation code to validateURL(String url) as we now make multiple calls to this code
Merge branch 'master' of https://github.com/Falkenfighter/SeleniumCommands