Add better heredoc formatting and highlighting support

This code comes from Philippe Ivaldi’s pi-php-mode, with his
permission.  The only modifications to the code are small formatting
changes and moving much of the top to the top-level instead of within
the scope of define-derived-mode.

Signed-off-by: Eric James Michael Ritz <lobbyjones@gmail.com>
Add a test case for Github issue 38, related to heredoc support
Add Philippe Ivaldi to the contributors list for his heredoc code
Removed "then" as a PHP keyword.

There is no reference in the PHP docs as to "then" being a keyword or
reserved word.  This was causing font-locking problems with the Then()
function from Behat.

Signed-off-by: Eric James Michael Ritz <lobbyjones@gmail.com>
Add Michael Dwyer to the list of contributors
Update php-mode-modified for the recent ‘then’ keyword patch
Merge branch 'better-heredoc-support'

* better-heredoc-support:
  Add Philippe Ivaldi to the contributors list for his heredoc code
  Add a test case for Github issue 38, related to heredoc support
  Add better heredoc formatting and highlighting support

Conflicts:
	README.md
Update php-mode-modified for the better heredoc support
Describe the improved heredoc support in the README
Revert "Merge branch 'better-heredoc-support'"

This reverts commit 94bc53ee81c6e795360aa19511f4d16b922a840d, reversing
changes made to 846c71d36bc82f2829fde0ed6bbd9780ef765dd0.

I made an error when incorporating the heredoc-related code from
pi-php-mode that causes most syntax highlighting to break.  This
reverts all of that code until I do a better job of debugging the
cause of the problem.

Github-issue: 56
Update php-mode-modified after reverting the heredoc changes
Fix annotation highlightings on the first line of C-style comments

Consider the following code:

    /* @brief This is a function.
     * @param $foo Means something.
     */

Both annotations beginning with at-signs should use the same syntax
highlighting.  However, php-mode does not highlight ‘@brief’.  This
happens because of an issue with php-annotations-inside-comment-p.
We use that macro to determine if we are inside of a comment; more
specifically, it tells use what font-face a character has at a certain
position in the buffer.  If a character is using the face
font-lock-comment-face then we assume that character is inside of a
comment, and from there we search for annotations like ‘@brief’.

The problem is that the comment in the example above a second face we
do not test for: font-lock-comment-delimiter-face.  All of the
characters before ‘@brief’ use this face, including the whitespace.
So our macro does not recognize that we are inside of a comment until
we have already reached and passed ‘@brief’, and since we only look
ahead in the buffer from that point to find annotations we never move
backwards to actually highlight ‘@brief’ properly.

We can fix this by simply making php-annotations-inside-comment-p
aware of font-lock-comment-delimiter-face.  Then our code for
annotations will recognize the start of comments earlier and correctly
highlight the example above.

Github-issue: 58
Use `c-add-style' for specification of coding styles.

This will allow more reuse of the style support of `cc-mode'.

Signed-off-by: Eric James Michael Ritz <lobbyjones@gmail.com>
Update php-mode-modified for changes to annotations and styles
Add Daniel Hackney to the list of contributors
Create ERT-based test for issue #9.

This allows regression testing without needing manual inspection.
ERT test for issue #8.
ERT tests for issues 14, 16, and 18
ERT test for ejmr/php-mode#19
Require `php-mode` in `php-mode-test.el`, duh.