Remote: make fetch/push_refspecs attributes

This is a lot more pythonic than two sets of getter-setter
functions. The old ones are left for backwards compatibility but they
should be removed in the next release.
Remote: harden the resfpec setters

The object passed must be a list of strings, so make sure we fail by
raising an error instead of segfaulting.