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.
Migrated apps.rate_limiter to new app interface.
Migrated apps.ipv6 to new app interface.
Migrated apps.pcap to new app interface.
Migrated app.intel_app to new app interface.
Migrated apps.basic.basic_apps to new app interface.
Merged the new 'app' and 'config' API.
deps/luajit: Pulled a newer v2.1 branch.

Motivated by a handy fix to DynASM.
Added an example app written in assembly language with DynASM.
Merged the DynASM example app written in x86 assembly language.
Removed intel.lua.

(This was accidentally revived. We want to do that, but it needs a
little maintenance first.)
app.main() now runs timers.
timer.run() is a no-op if timer.init() hasn't been called.
config.link() now supports underscore (_) in names.
app.lua: Improved printouts.
Migrated vhost_user to new app interface.