Multiple site urls

SITE_URL now accepts a string, an iterable of strings or a callable that returns either.

Fixes #51