Fix 'gcc -Wextra -Wno-unused-parameter'.
remove unnecessary forward declaration of set_statusline_error

Attributes can be added to function definitions.
Tested with gcc 4.8.2 and clang 3.3
use designated initializers for yajl_callbacks struct
Disable render-time pointer warps if asked

When `focus_follows_mouse` configuration option is disabled, do not warp
the pointer when focus changes outputs after rendering.

Rationale: this option is meant to be disabled by users who have a setup
where the mouse is usually in the way. These users tend to move the
mouse to a corner or use a utility to hide the pointer when it is not
active. When this user switches focus between outputs, the mouse is
placed in the center of the screen.

This is clearly against the spirit of disabling `focus_follows_mouse`.
Disabling this option now implies disabling "mouse follows focus".
Bugfix: fix crash when layout JSON file is partially invalid (Thanks xeen)

Fixes #1145
Bugfix: set all parsing_* variables to false when starting parsing
fix percentages when loading layouts

This is more forgiving for users who delete containers from their layout
file and don’t update the “percent” values.
return parse errors via IPC for append_layout
tests: add t/215-layout-restore-crash.t for the last couple of commits