Sync Vimium settings across chrome instances.

This is a continuation of #1010 and addresses #604.

My git-foo is weak.  Because I worked on this so long ago, it was difficult to create a clean commit.  Hence, this new PR in place of #1010.

@philc: I think I got the most important things from your comments in the other thread.

Also: Added unit tests.

Steve