This is part of a divide-and-conquer strategy for counting bits, called a "population" function. The scholarly treatment of this strategy can be found in Reingold and Nievergelt, 1977.
The idea is to first sum the bits pairwise, then 4-wise, then 8-wise and so on. For example, if you have the bits 1011, then the first pair 10 becomes 01 because there is one bit and the second becomes 10 because 10 = 2 in binary and there are two bits in 11. The essential fact here is that:
population(x) = x - (x/2) - (x/4) - (x/8) - (x/16) - ... etc.
The exact algorithm you have is a variant of what is known as the "HAKMEM" algorithm (see Beeler, Gosper and Schroppel, 1972). This algorithm counts 1's in 4-bit fields in parallel, then these sums are converted into 8-bit sums. The last step is an operation to add these 4 bytes by multiplying by 0x01010101. The 0x0F0F0F0F mask gets the 4-wise bytes sums by masking out non-sum information. For example, lets say the 8-wise field is 10110110, then there are 5 bits which is equal to 0101, thus we will have 10110101. Only the last four bits are significant, so we mask out the first four, ie:
10110101 & 0x0F = 00000101
You can find an entire chapter on the minutiae of counting bits in the book "Hacker's Delight" by Henry Warren.