Added formatted error functions and tests
Added new functions for formatted error creation: Newf and NewSkipCallerf in errors.go. These functions allow error messages with formatted strings. Cleaned up the message building functionality; separated message building from cleaning and formatting. Corresponding tests were also added in errors_test.go.