Recovery Oriented Computing: Motivation, Definition, Principles, and Examples