move documentation to doc folders
update the event list
change from using EventInterface in the event list to using Event
Merge pull request #174 from lukechampine/reorg

reorg: scripting + JSON
begin touching up eventlist tests
Merge branch 'master' into review
remove pointers from siacrypto, remove gob
rehash consensus logic, fix a security hole
restore make-test-long
remove requirement of calculating and sharing ParentState
switch to safer snapshot initialization
remove cat.go
refresh condenseBlock()
refresh tick()
change sibling model, remove pointers

All pointers have been removed from the public, over-the-wire structs.
Addtionally, the way the self is represented in the participant has been
changed so that the participant only knows its index and its public key
and its address. (It knows the piecewise componenets instead of all the
components).

Two poorly-solved problems are:

how does a participant know when its sibling has been accepted into the
quorum?
how does a participant know when it's been moved to a different quorum?
In compile(), process each heartbeat
initial implementation of NewSignedHeartbeat
reformat the way signatures work

Instead of using SignedMessages (which no longer exist), you use a
signature and a message. Additionally, the functions SignObject and
VerifyObject have been added, to help enforce the idea that objects need
to be encoded (according to std siaencoding) and then hashed before they
are signed or verified.
switch rpcs to using messages instead of message pointers
change rpcs port numbers. there will be a new standard for picking port numbers soon