Coding style update with clang-format

This pull request just to show what the effect of running a recent clang-format-3.5 (from clang's PPA; the version in the Trusty repository misses some features still) would be on our source code.

For now, I've set the column limit to 0, which means it should respect existing line breaking decisions, but as you can see the result is still fairly arbitrary (it breaks and unbreaks in several place).

I would prefer using the normal mode where an actual column limit is specified (it breaks quite intelligently, with different penalty scores for breaking in several places), but that deals very badly with the IMPLEMENT_SERIALIZE macros.

This is not intended for merging. If we decide to adopt this policy and its effects, I'd rerun it just before release candidates, and then hopefully afterwards more frequently, but now it would obviously break every pull request in existence, with 0 benefit.