Basic support for reading a configuration file

Peers aren't added yet, but support for configuration of id, addresses,
tap device name, et cetera is included.
Support for adding a peer with the config file

The last commit was lacking this feature, this adds it.
Various code cleanup
Merge branch 'json_config'
Lets you change the base IPv4 address

The changing the base IPv4 address with break translation for SIP and
UPnP, (I'll fix it soon) but if you are running applications that don't
need the translation, you can now run multiple clients on the same
machine using IPv4 traffic.

IPv6 traffic from two clients over one machine will likely never happen,
as we'd either create a case where you'd have a different (incompatible)
subnet than everyone else (which will not get resolved as we don't have
translation for IPv6).
Updates README file and makes it ReST

The README file is now a valid ReStructuredText Document, and contains
updated information on building and running, as well as the state of the
project.
Makes the Android build process work again

There is additionally a new setup.sh script for downloading the openssl
header files.
Removes unused bss_fifo module from src

The bss_fifo module was used for the dtls implementation, which is now
gone from the HEAD.
Cherry-picked Ben's changes from animal control and made necessary modification, currently untested
Removed extra animal_control branch code and fixed packet type checking