fetch ports by svn: portsnap does not allow non-interactive use

The portsnap utility only allows running `portsnap fetch` interactively (to prevent people from hammering on the server). This causes an error in exec `create default ports tree` when including the class on a clean system with no existing ports tree.

A class parameter $port_fetch_method is added to choose a different way to fetch the ports tree. By default, svn is used, which works well, although it is slightly slower than portsnap.