errors - ffx Error Types and Helpers

The macro around ffx_error are the most common, and are used to produce non-BUG error output strings to the user. The underlying type is FfxError that is a user-facing error.