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
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.
ERT tests for remaining example files.

This should close ejmr/php-mode#60
Mark tests 9, 14, and 19 as expected failures.

This makes all tests pass or fail expectedly for the current version. As bugs
are fixed, the expectation of failure can be removed.
Simplify setting `php-file-patterns` with `mapc`

Rather than a `while` loop, use the functionalerific `mapc` to add file-name
patterns to `auto-mode-alist`.

Signed-off-by: Eric James Michael Ritz <lobbyjones@gmail.com>