Remote property accessor on branch branch should not throw an exception

When a branch is under the refs/remotes/ namespace, but a specific remote cannot be resolved,
then the Remote property accessor should return null instead of throwing an exception.
Regarding `repo.CreateBranch(name, "refs/tags/point_to_blob")` and  `repo.CreateBranch(name, "53fc32d")`, how about throwing `InvalidSpecificationException` instead by giving a more detailed message (Something like "Provided target cannot be resolved to a commit")?