Add formspec api versioning

right now we can't even add new fields to existing formspec elements without breaking old clients.
Just ignoring additional fields would result in formspec errors being undetectable.
Adding a version number enables us to ignore additional fields in case of server running higher formspec api version then client only.

Actually a server could even send formspecs containing higher api versions as formspec isn't checked server side. In this case client would still interpret max api level it's capable to do so as of this perspective there won't be a new error case.
you can try to do it without a macro case it work's I'll use it ;-)