Add app category output, embed apps.json in package, slight restructure

Chief changes:

* Add apps.json as a local package resource to avoid downloading on package instantiation or manual management by package users. Had some problems with backtracking in regexes from Wappalyzer main repo, so this will let us pick a stable apps.json version to include in the package
* Allow passing in apps.json from local path.
* Restructure package slightly.
* Add analyze_with_categories() function, which returns category names in addition to apps found.

Some users may still need to fetch the latest apps.json file in their applications, so I think that functionality should be retained (particularly if the method name remains `latest`). Instead of modifying this method, what about changing `__init__()` to take either nothing, a file name, or a file descriptor? Then we could support the following uses:

    # Uses the packaged apps.json
    wapp = Wappalyzer()

    # Uses a custom apps.json
    wapp = Wappalyzer("/path/to/apps.json")

    # Uses latest apps.json from upstream repo
    wapp = Wappalyzer.latest()