Add ability to add subdirectory includes.

This is for the situation of having an immense project, one too large
to even enumerate.
Add correct caching behavior back.