Add a 'detail' field to NotBranchError to hold additional helpful information for the user in diagnosing problems. The 'detail' field is kept separate from the 'extra' field as the 'extra' field is a string oriented for formatted display, and may not actually correspond to the 'detail' value.