Bad idea: Lookup actual HugeTLB page size via /proc/self/pagemap.

Bad idea because it doesn't work: the file reports 4096 even for huge
pages. Committed just in case this code should be dug up some day for
some other purpose.

The next commits will rollback these changes and add a better solution.
Revert "Bad idea: Lookup actual HugeTLB page size via /proc/self/pagemap."

This reverts commit 03c248c1a9a9e1f563f4fb923a2b4c5f7920bf06.
lib.lua: Added readfile() and writefile().
memory.lua: Lookup HugeTLB size by groveling /proc/meminfo.

Had been an unreliable constant.
memory.lua: Use lib.{readfile,writefile} to simplify {get,set}_hugepages.
memory.lua: dma_alloc() now returns physical address too.

API: memory.dma_alloc(size) => pointer, physaddr, actualsize

Removed the cache from map() results since now callers can probably
remember the physical address themselves instead of looking it up all
the time.
memory.lua: dma_alloc() now returns physical address as a Lua number.

This "should be OK" provided that physical addresses fit in 52 bits of
precision which I think they do on machines with less than petabytes
of memory. (Certainly not the last word on this topic....)
intel.lua: Use memory.dma_alloc() instead of C.map_physical_ram.

Hurray! Snabb Switch now runs on a standard Linux with no special boot
parameters. You can retire your "memmap=..." grub lines.