Support parent project root files which overrides current directory.

* greater user control.
* configurable per file name pattern
* fewer calls to `file-exists-p` (good for tramp, slow disks, very deep directory structures, etc...)

Should be easy to also implement projectile-svn-project-root as an `'ancestor-bottom` check.

related to https://github.com/bbatsov/projectile/issues/234

btw. I cannot run the tests, cask has never worked for me and vagrant also seems prohibited by other networking things on my current computer.. So I've only tested this manually.