Cpuid improvement

Fix for bug 4445. Implemented cpuid based core identification for Intel processors. 
why caching result? premature optimization?

also, "this function doesn't support multiple processors," ... didn't you mean cpuid.getCoreTotalNumber() ?!