Allow checkbox fields to support custom strings

for #2220, #1841, (new) #2236

* checkbox fields now support custom string options (like radio buttons)
* oneway field now cycles through "Assumed to be No", "Yes", and "No"
* oneway_yes field now cycles through "Assumed to be Yes", "Yes", and "No"
* handle the special case where an element has `junction=roundabout` (display "Assumed to be Yes")
* (new) correctly trim whitespace in semicolon-separated multivalues

example:
```
{
    "key": "oneway",
    "type": "check",
    "label": "One Way",
    "strings": {
        "options": {
            "undefined": "Assumed to be No",
            "yes": "Yes",
            "no": "No"
        }
    }
}
```