Fix wrong model recognition

Parser was recognizing words with `model` keyword combination, for example `` `model` `` or `Cmodel`, as model, this is a suggestion to fix the issue. this has been mentioned in both issue #152 and #92.
@zdne although this regex might seems complicated, with all my testing, it's the simplest solution I could have come up for following problems.

There are cases we should be concern to be recognize like:
- `+model` (no space between model and starting of the string)
- `+ named model` (with one word name)
- `+ more than one word named model`

and obviously there are cases we don't want to be recognize like:
- `+nmodel`
- ``+`model``
- `+ named model with something after keyword`

so the logic behind this line of regex is to check if there are some words between `model` keyword and starting of the string then `model` MUST have an space before it (to ensure it's separated word) and if string is starting with `model` itself then it might or might not have any number of spaces before it.

on the other hand your mentioned regex would be concern that it might or might not be an space before `model` so for example `nmodel` or `` `model`` would be accepted, so practically it makes no different with the original regex.

as the matter of `SYMBOL_IDENTIFIER`, it is there but since I could not use the bracket inside it I used it inside the regex directly.

with all the mentioned circumstances if you have an idea to make it simpler I'll be more than happy to correct my code.