Support IBM System z s390 cpu

In IBM System z S390 archtecture,  the /proc/cpuinfo has totally different format with the x86 format. 
It looks like this:

```
# cat /proc/cpuinfo
vendor_id       : IBM/S390
<# processors    : 2
bogomips per cpu: 9328.00
features	: esan3 zarch stfle msa ldisp eimm dfp etf3eh highgprs 
processor 0: version = FF,  identification = 06E276,  machine = 2818
processor 1: version = FF,  identification = 06E276,  machine = 2818
```

So, we need to add additional code to make this s390 cpuinfo be resolved.
For the IBM/S390, "vendor_id" is in the first line and all processors has the same "vendor_id", it doesn't belong to specific processor. You can see the sample cpuinfo from the 1 comment I added. This is different from other Linux cpuinfo.  
If everything else puts vendor_id somewhere else, it doesn't need to check cpuinfo["vendor_id"] || cpu_info[n]["vendor_id"], because only line "vendor_id: **" has keyword "IBM/S390" (looks like "vendor_id : IBM/S390")  will be cpuinfo["vendor_id"], other situation will be treated like the code before does.