Number of cores detection fix: single-core CPUs;

The original code expected this structure:

1> erlang:system_info(cpu_topology).
[{processor,[{core,[{thread,{logical,0}},
                    {thread,{logical,1}}]},
             {core,[{thread,{logical,2}},{thread,{logical,3}}]},
             {core,[{thread,{logical,4}},{thread,{logical,5}}]},
             {core,[{thread,{logical,6}},{thread,{logical,7}}]}]}]

...while on some single-core (yet with multiple physical CPUs),
the result of the same function looks like:

1> erlang:system_info(cpu_topology).
[{processor,{logical,0}},{processor,{logical,1}}]