(FM-105) Delete the base provider

Previously, puppet would attempt to use the 'base' parent provider on
systems where 'shutdown.exe' is not available (*nix and 2003 non-R2 x64
without the hotfix).

Since we only have one reboot provider, it doesn't make a lot of sense to
break out code into a parent provider (as that assumes there is at least
one suitable? provider for every platform puppet runs on.

This commits moves the methods from base into windows, and migrates the
tests as well.