Logical bug fix in setup module, Incorrectly marking virtual devices as physical.

    Fixing logical error in detecting virtual device.
    
    So In my Centos 5.9 machine, if there is RAID mount ansible will crash, as it cannot find scheduler file. The reason being, this should be a virtual device as there is no "device" folder under e.g. /sys/block/md0/
    
    Here is the crash:
    
    [kk@u1 ansible]$ ansible q3 -m setup -k -u root --tree=/tmp/facts
    SSH password:
    q3 | FAILED => failed to parse: /sys/block/md0
    Traceback (most recent call last):
      File "/root/.ansible/tmp/ansible-1360629441.14-171498703486275/setup", line 1797, in ?
        main()
      File "/root/.ansible/tmp/ansible-1360629441.14-171498703486275/setup", line 1050, in main
        data = run_setup(module)
      File "/root/.ansible/tmp/ansible-1360629441.14-171498703486275/setup", line 1000, in run_setup
        facts = ansible_facts()
      File "/root/.ansible/tmp/ansible-1360629441.14-171498703486275/setup", line 990, in ansible_facts
        facts.update(Hardware().populate())
      File "/root/.ansible/tmp/ansible-1360629441.14-171498703486275/setup", line 312, in populate
        self.get_device_facts()
      File "/root/.ansible/tmp/ansible-1360629441.14-171498703486275/setup", line 439, in get_device_facts
        m = re.match(".*?(\[(.*)\])", scheduler)
      File "/usr/lib64/python2.4/sre.py", line 129, in match
        return _compile(pattern, flags).match(string)
    TypeError: expected string or buffer