Initialize with random MAC

Add an option for the user to randomize his or her MAC address.
I would think it would make it easier for users who don't know their MAC addresses and need a unique MAC address (for example, when connecting to an ad-hoc server host). The user's chance of having a MAC address that matches and clashes with one randomly generated is 1/16777216, so we have a nice probability that it won't clash.

The original idea was to have the default value for the address be random, and have the user specify their own if they needed a specific one, as that would minimize issues, but it could cause potential issues for users who expected the default MAC.
These additional headers should go in the .cpp file, not the .h file.  The .h should only include headers necessary for the *use* of the class, not the implementation.

A lot of files include Core/Config.h, so including less here means faster compile times.

-[Unknown]