Custom text objects

As per commit message, I consider this a draft as it comes without documentation. I don't like to open issues to discuss features request, I find politer to open a PR and start a discussion with a few questions:

* Are you interested in adding custom text-objects to vim-go? I find the addition very neat as the feature is fundamental to the way vim users think about text. For example, vim-ruby does the very same (actually I've _stolen_ this implementation from @AndrewRadev , one of the vim-ruby mantainers, [here](https://github.com/AndrewRadev/vim-golang/commit/d442aaedbf531159307f97539da7b2183ed33388))
* Would you have the feature enabled by default?
* Are you ok with the way I've organised the files?

Thank you very much for this awesome plugin and for all the time and effort you put in it.

P.S. Of course @AndrewRadev did the job here and I want to thank him, I've just put the things together for a small PR.