Add field option :only_alias to skip methods for the primary name. #3362

The idea of this is that protected field names, such as :metadata
can be accessed via their aliases but the accessors for the protected
name are skipped, allowing access to these protected fields via the
alias.