Convinced the backup tool to return meaningful exit codes

Hello,

The backup tool always returns 0 as exit code. This makes it hard to integrate with other tools (like deployment scripts, and so on).

I have not changed the functionality of the tool at all, just added some methods and set some non-zero exit codes for exceptional cases.

ps: i have a CLA with you.