Sean, for deployment of a "real" product that really needs to have a unique MAC address, you can integrate a Microchip 24AA02E64 (or E48) -- it's very simple, but will cost you a little extra money and space on your PCB.
Here's how mbed does it -- they query a memory region in the K64 that is marked "System integration module (SIM)". I don't know what this module does, but I'm going to look it up shortly. Anyhow, here's their code for getting a "semi-unique" MAC address. I think this is the approach I will be using in my device since it's not IoT or anything like that.
void mbed_mac_address(char *mac)
{
// Fetch word 0
uint32_t word0 = *(uint32_t *)0x40048060;
// Fetch word 1
// we only want bottom 16 bits of word1 (MAC bits 32-47)
// and bit 1 forced to 1, bit 0 forced to 0
// Locally administered MAC, reduced conflicts
// http://en.wikipedia.org/wiki/MAC_address
uint32_t word1 = *(uint32_t *)0x4004805C;
word1 |= 0x00000002;
word1 &= 0x0000FFFE;
mac[0] = (word1 & 0x000000ff);
mac[1] = (word1 & 0x0000ff00) >> 8;
mac[2] = (word0 & 0xff000000) >> 24;
mac[3] = (word0 & 0x00ff0000) >> 16;
mac[4] = (word0 & 0x0000ff00) >> 8;
mac[5] = (word0 & 0x000000ff);
}


Hope this helps.