Only show branches with changes by default

Unless `show-unchanged-branches?' has been set to `#t' in the user's
configuration only branches with pushable or pullable commits are shown.
Specify usage information in the command
Add warnings when compiling

They help catch some easy to overlook mistakes.