Moved shadow plugins to plugins folder, other files to engine
Moved shadow plugins to plugins folder, other files to engine
Moved shadow plugins to plugins folder, other files to engine
Moved shadow plugins to plugins folder, other files to engine
Fix clang warnings
cleanup cmake files

refs #58
Modularize bitcode build process

Create bitcode targets, make it easier to share them among
separate plugins, use clang to build the .so directly, use clang to
build the executable.

refs #58
Filetransfer plugin now builds with LLVM and hoisted globals

refs #58
Filetransfer plugin now builds with LLVM and hoisted globals

refs #58
Browser plugin builds LLVM bitcode with hoisted globals

refs #58
Browser plugin builds LLVM bitcode with hoisted globals

refs #58
Torrent plugin builds LLVM bitcode with hoisted globals

refs #58
Scallion plugin builds LLVM bitcode with hoisted globals

refs #58
Scallion plugin runs, when compiling with symbols (-g)

refs #58
Scallion plugin runs, when compiling with symbols (-g)

refs #58
Fix build after merge

TorControl plugin now builds with Clang/LLVM
Rename 'tor-control' to 'torcontrol'
Changed Torrent plugin to a client/server model: Torrent plugin in one of three modes: 1. client - connects to servers to perform block swaps 2. server - just registers as a server with authority for clients to connect to 3. node - runs both client and server (old model)

closes #84

Also added fix to handle connection errors better, where client waits a
minute and tried to reconnect.

closes #95
Implemented ping pluging to measure Tor circuit latency

Ping node runs a client and server, connects through an optional Tor
circuit (although it really wouldn't make sense not too) and sends pings
back to itself through the circuit and measures latency.  The node args
are:

socksHostname socksPort pingInterval [pingSize]

where the ping interval is in milliseconds and pingSize just a raw bytes
number (no KB or MB currently).

Theoretically, there is the optional parameter to specify ping size
(default 64 bytes) which can be increased to cause ping trains, where
the node will attempt to measure distance between two packets/cells
received that were sent out at the same time.  This can be used to
measure how long some cells waited in a queue.  This feature has not
been extensively tested though.

NOTE: It might be better to just incorporate this into the Torrent
plugin at some future time.  This would make maintaining the code base
easier.

refs #100
Fix buffer offset recv problem.