Simplify completion at point

This branch contains a few simple improvements to the original completion-at-point patch:

- avoid doing a redundant call to `try-completion` by returning `:exclusive 'no` as properties
- add `(require 'thingatpt)` (I think it is auto-loaded anyway, but just to be safe)
- split the setup of `completion-at-point-functions` into its own defun and add it to `php-mode-hook`