Fix indentation/remove tabs in Inspector.json.
De-inline definition of ResourceWillSendRequest destructor.
Move recording-related inspector protocol messages and types from the Replay domain to the Recordings domain.
Push definitions of JSON-serialized recording format into the inspector protocol.
Reimplement code that creates serialized JSON recordings (i.e., not part of the InputSerializer interface).

Closes #272.
Clean up some obsolete CHROMIUM guards in serialization code. Adapt serialization code to match protocol version 0.1.0.
Rename InputSerializer to InputCoder; pass by reference where possible. This is the first step towards using symmetric encode/decode, and moving away from a virtual serialize() method. An example of the pattern can be found in WK2's "ArgumentCoder" pattern.
Several large changes to recording serialization strategy:

1. Begin the move away from NondeterministicInput::serialize(). It is no longer an abstract method.
2. Move InputCoder to WebCore; switch clients to use InputEncoder and InputDecoder facades with templatized put/append and get/pop.
3. Convert timer input classes to use InputCoder specializations for encoding/decoding.
4. Change JSONInputEncoder to use encode()/decode() instead of serialize(). This temporarily regresses serialized output.
5. Move encode/decode of JSC inputs to JSCInputCoders inside WebCore. This works around namespace+template definition restrictions.
Convert EnableCache, DisableCache, and SentinelActions to use input encoder/decoders. Clean up some header dependencies uncovered by adding cpp file for SentinelActions.
Convert Initialize{Window,Focus}, FocusSet{Focus,Active} to InputCoder. Remove dead code and unnecessary forward declarations. Add InputDecoder::getBoolean().
Convert PlaybackError and InterpretedKeyCommands (sans-decode) to InputCoder.
Unbreak release build. Add a missing header to TimerCreated.