Dev Docs: Describe Soft And Hard Forks

Preview: http://dg0.dtrt.org/en/developer-guide#consensus-rule-changes

Based on a suggestion made by @petertodd to the -devel mailing list and the discussion in [that thread](https://www.mail-archive.com/bitcoin-development@lists.sourceforge.net/msg06276.html) by him and other participants.

* We've been using the term "consensus", but this commit introduces a formal definition for it and "consensus rules" as part of the block chain introduction.

* Describe that consensus rules may change and may happen when they do: hard or soft forks.

* Describe how full nodes can detect hard or soft forks, then describe how SPV clients can detect hard and soft forks using the more limited information available to them.