A. To use BranchCache with IIS, you only need to install the BranchCache feature. (Note that this is the BranchCache feature, not the BranchCache for network files role service that's part of File Services—that one is used for file shares). Once the BranchCache feature is installed, data served by IIS has its hashes automatically generated. There's no need to manually run hashgen on the IIS folders.
To be very precise, the first time a piece of data is requested via IIS, the hash is generated but is not sent to that first user (because it's generated as the user requests the data). The second person to request the data gets the hash and the data. The third person would be sent the hashes and be able to take advantage of BranchCache.