intel10.lua: First cut at Intel 10GbE (82599) hardware support.

The 82599 initialization is sufficiently different that I decided to
start off by writing this driver from scratch. Once it works we can
look at how to merge/share common code with intel.lua.

Early days. This works: waiting for EEPROM to load, waiting for link
to go into service. This doesn't: DMA. More progress coming.

I decided to experiment with a couple of Lua programming styles to
spice up life a bit:

Register descriptions are now written as a string. The string is
parsed during init to create a table of registers, called 'r'.

Looks like this:

    RDBAL     0x01000 +0x40*0..63  (RW) Receive Descriptor Base Address Low

.. which is valid for all 64 receive queues and is easy to
cross-reference with the data sheet. (Currently not making use of all
this info in the code.)

Each register is represented as an object: a C uint32_t* pointer
wrapped in a Lua closure that allows this convenient syntax:

    r.MYREG(value) -- store a value
    r.MYREG()      -- read current value
    set(r.MYREG, bitmask) -- set bits (bitwise 'or')
    clr(r.MYREG, bitmask) -- clear bits
    wait(r.MYREG, bitmask, value) -- block until bits have some value

Just an experiment.