added new versioner

I added a new versioner called "staggered" which does the versioning like the one in owncloud, you keep a different number of files depending how old they are and what interval is in between versions, the intervals are the following:

first 10 sec -> 2 sec between versions
next minute -> 10 sec between versions
next hour -> 1 min between versions
next day -> 1 h between versions
next 30 days -> 1 day between versions
next xxx (configurable, default=1 year) -> 1 week between versions

to activate add this to the config insted of `<versioning></versioning>` (or what appears if you have simple versioning active)
``` xml
        <versioning type="staggered">
            <param key="versionsPath" val="/home/alex/dev-syncthing/instance1/test1_versions"></param>
            <param key="cleanInterval" val="3600"></param>
            <param key="maxAge" val="31104000"></param>
        </versioning>
```
all params are optional
versionsPath is the path were your versions should be stored, if it's not set it will be in the repopath in .stversions
cleanInterval is the interval between scanning all versions and deleting ones that are too old or when too many are in a interval (default 3600 s = 1 hour)
maxAge is the maximum time to keep versions, (default 31104000 s =~1 year)

configuration via GUI is not possible yet and changing something via gui can lead to resetting those settings ;)
Right, I missed that! There is a reason, namely that these are strings on the Go side of things, and need to be represented that way in the push. Ignore that comment. :)