Correct syntax highlighting for ‘parent’ and ‘self’

Previously we would only look for the two words in isolation without
considering their surrounding context, under the assumption that they
are special keywords.  But this assumption is incorrect.

The ‘self’ token can appear in code such as

    self::foo();

but we do not properly highlight ‘self’ in this situation.

We face similar situations with ‘parent’.  Consider this code:

    1.  echo $parent;
    2.  echo parent::$foo;
    3.  echo $this->parent;
    4.  $foo = new parent();

Lines one and three should treat ‘parent’ as a variable and highlight
it accordingly.  Lines two and four should treat it as a special
word.  Previously php-mode would fail to highlight lines three and
four correctly.

This patch corrects all of these problems.

Special thanks to the following people who helped me craft this patch:

1. Nate Eagleson
2. David Harkness
3. Ángel González
4. Kalle Sommer Nielsen
5. Nikita Popov

Github-issue: 77