subtree: fix argument validation in add/pull/push

When working with a remote repository add/pull/push do not accept a
refspec as parameter but just a ref.

This patch:
 - relaxes the check the ref argument in "git subtree add repo"
   (previous code would not accept a ref name that does not exist
   locally too, new code only ensures that the ref is well formatted)

 - add the same check in "git subtree pull/push" + check the number of
   parameters

 - update the doc to use ref instead of refspec