Clone recursive

Changed the signature to Repository.Clone(string, string, CloneOptions). As of #536, optional parameters should be grouped in a xxxOptions type.

Added CloneOptions.Recursive to specify whether submodules should be initialized and updated after checkout

See also #639