Edited "memory" and "PCI" chapters of snabbswitch.pdf.
memory.lua: Fixed syntax error introduced during editing.
genbook.sh: Moved "Startup" chapter to the end. (It's boring.)
Commented out the enumitem package due to a bug

The LaTeX package `enumitem` contains a bug that prevents us from
producing the final PDF output.  I only used this to lessen the
space in between bulleted and enumerated lists so it's not really
that big of a deal.  I think there may be other ways to accomplish
the same that I can pursue later.
Need to terminate end of a list

Due to the limitation with the manner in which we are programmatically
generating our markdown files from source, we need to terminate any
lists that immediately precede a block of Lua code due to the four
space rule of markdown.

The four space rule states that a list item may contain multiple
blocks of content so long as the next block starts with four spaces.
For example:

```
1. Item 1

    Still item 1 (new paragraph though)

2. Item 2

    Still item 2 (new paragraph though)

    function test(x)
      print(x)
    end
```

In the above example, the function is included as another block
level element of item 2.  It is not typeset as a code block due
to the four space rule.  No matter how many blank lines you
insert between the two, it will still be counted as part of the
prior item.

This means that we _must_ use fenced code blocks with the triple
backticks rather than rely on indentation. I don't have time at
the moment, but we'll have to tweak the method in which we
generate the markdown or we have to let it be known that lists
cannot immediately precede code blocks.
Merge pull request #60 from pkazmier/bookediting

Bookediting
Rewrote parts of memory.lua to be shorter and simpler.
memory.c: map_physical_ram().

Dead code. If we need it again later we can revive it from the git history.
memory.lua: Comment & whitespace cleanup.
memory.lua: Fixed bugs introduced in editing.
Edited for book clarity, particularly Memory chapter.
memory.c: Added reference of Linux kernel pagemap documentation.
Added more table-of-contents structure.

Chapters are now labelled [DRAFT] if they have not been book-editing
yet and [NYI] if the software is not yet implemented.

Added [NYI] chapters for KVM and OpenStack. Much braindump on the
topic of KVM support.
kvm.md: Formatting fixes.
intel10g.lua: Split into more ordered sections.
intel.lua fix: add_receive_buffer() stored in wrong rxbuffers index.
intel10g: Updated the I/O API (buffer). Not tested!
define appropriate metatables for the three types of register
lib.lua: Simplified protected() into bounds_checked().
intel.lua: fix in receive() - not tested yet.