Added nfv/README.md.
Updated designs/nfv/README.md
Added VhostUser app for Virtio-net communication with qemu.

See http://www.virtualopensystems.com/en/solutions/guides/snabbswitch-qemu/

This work includes an extension of 'struct buffer' with metadata for
buffers that are allocated in guest vring memory. Such buffers require
special treatment.

The app is not complete and certain code paths will trigger NYI
assertion failures.

The selftest function bounces traffic from the VM through a
loopback-mode NIC with zero-copy behavior.
vfio: Map Snabb virtual addresses 1:1 onto IOMMU addresses.

This is for the sake of simplicity: when VFIO is in use then
buffer.pointer and buffer.physical will be the same.
packet.lua: Zero-fill the packet struct before reuse.
buffer.lua: Zero-fill the buffer struct before reuse.
buffer.lua: Allocate buffer structs with lib.malloc().

Just to use a handy library function.
pcap.PcapWriter: Added missing deref() of packets after save.
basic_apps.Source: Added flow control on packet output.
lib.lua: Added malloc(ffi_type).
add my public SSH key
Merge pull request #92 from SnabbCo/snabbnfv-readme

Snabbnfv readme
Merge pull request #91 from krisk84/master

Add Kristian Kielhofner public SSH key
Update README.md

Moved the **Budget** section up.
Revert "buffer.lua: Zero-fill the buffer struct before reuse."

This reverts commit ef376fa75c3a58e9b4d85619b377918de1f77523.
src/Makefile: Create testlog/ directory for 'make test'.

Fixes #113 (Thanks for reporting, gongysh2004!)
Added <linux/vfio.h> to the repository.

This is a quick workaround for recurring build failures. The file
lives in a new snabbswitch/deps/include/ directory.
App network configuration support.

(Rewrote `app.lua` and created `config.lua`.)

Added a new 'config' data structure that describes an app network and
the function `app.configure(config)` to instantiate it.

You can call `app.configure()` several times and each call will
compute the changes needed to switch from the old app network to the
new one, creating/deleting/updating apps and links as needed.

This requires minor changes to all apps:

1. The functions `receive`, `transmit`, `nreadable`, etc, have moved
   from the `app` module to the `link` module. (Calls must be updated.)
2. The port arrays `outputi` and `inputi` aren't automatically created
   anymore. This is an issue if you want to iterate through all ports.
   (You can look at how `basic_apps` dealt with this.)

and minor changes to all app-networks:

1. Use the `config` module functions `new()`, `app()`, and `link()` to
   define which apps and links you need.
2. Call `app.configure(myconfig)` instead of `app.relink()`.
2. (Optional) call `app.main({duration = numseconds})` instead of
   writing a `breathe()` loop.
Migrated designs/basic to new app interface.
Migrated apps.vhost_apps to new app interface.