Implements #1249
Implements #1251
Support of Hunspell via JNA or BridJ
Implements #1255

Example:
```json
{
  "queries": [
     {
       "type": "SearchPattern",
    	"query": "i-phone",
    	"start": 0,
    	"rows": 10,
    	"lang": "ENGLISH"
    },
     {
       "type": "SearchField",
    	"query": "open",
    	"start": 0,
    	"rows": 10,
    	"lang": "ENGLISH"
    },
     {
       "type": "SearchPatternTemplate",
       "template": "search",
    	"query": "i-phone"
    },
     {
       "type": "SearchFieldTemplate",
       "template": "test",
    	"query": "open"
    }
  ]
}
```
Merge pull request #1259 from emmanuel-keller/master

Bug fix and improvement