Add Rugged::Reference.valid_name?

This wraps `git_reference_is_valid_name` so we can check for refname validity explicitly. Not sure it's worth adding `Rugged::Reference#valid?` or something as well that wraps this but it's easy enough to add later if we want it. Not even sure you'd be able to get an instance of a `Rugged::Reference` with an invalid name anyway?

/cc @technoweenie