Filter out assets that are not files

This PR does 2 things:
- Filter out assets that are not files. I have a case when a folder contains a dot (.) in its name, let's say video.js folder inside public/system/lib folder. Therefore, a pattern likes: "public/*/*/*.js" in assets.json will return public/system/lib/video.js/, which will cause a 404 since it's not actually a file.
- Refactoring your code and allow external css to be included in asset. Previously, you only handled the case of js