Use clientcert name instead of hostname

Stop using hostnames in setting up the classroom environment and use certificate names instead.
This is a better practice and makes life much easier in the windows course because the hostnames can be changed by Active Directory.
This PR also adds a custom function for getting the machine name from the FQDN base cert name.
This cannot be hardcoded like this and retain current behavior. `$teams` will be set to either a single string or an array of strings representing the team(s) the student is on. Whether that's appropriate behavior or not, ... that could be discussed.

Wanna chat about this tomorrow?