- Refactoring the implementation and updating the search mechanism to unify a GPU or
PCI device in general by its device ID, function ID, domain ID, bus ID.

- Minimizing the noisy output during the compilation stage to follow ISO C90
that forbids a mixed declarations and code.
- Updating the GPU matching mechanism by adding bus ID, device ID, domain ID, and function ID
for each PCI device.

- Refactoring the code.

- Following the ISO C90 standards by separating declarartions from the code.
Merge branch 'master' of github.com:marwan-abdellah/HWLOC

Conflicts:
	doc/doxygen-doc/html/a00001.html
	doc/doxygen-doc/html/a00002.html
	doc/doxygen-doc/html/a00003.html
	doc/doxygen-doc/html/a00004.html
	doc/doxygen-doc/html/a00005.html
	doc/doxygen-doc/html/a00006.html
	doc/doxygen-doc/html/a00007.html
	doc/doxygen-doc/html/a00008.html
	doc/doxygen-doc/html/a00009.html
	doc/doxygen-doc/html/a00010.html
	doc/doxygen-doc/html/a00011.html
	doc/doxygen-doc/html/a00012.html
	doc/doxygen-doc/html/a00013.html
	doc/doxygen-doc/html/a00014.html
	doc/doxygen-doc/html/a00015.html
	doc/doxygen-doc/html/a00016.html
	doc/doxygen-doc/html/a00017.html
	doc/doxygen-doc/html/a00018.html
	doc/doxygen-doc/html/a00019.html
	doc/doxygen-doc/html/a00020.html
	doc/doxygen-doc/html/a00021.html
	doc/doxygen-doc/html/a00022.html
	doc/doxygen-doc/html/a00023.html
	doc/doxygen-doc/html/a00024.html
	doc/doxygen-doc/html/a00025.html
	doc/doxygen-doc/html/a00026.html
	doc/doxygen-doc/html/a00027_source.html
	doc/doxygen-doc/html/a00028_source.html
	doc/doxygen-doc/html/a00029_source.html
	doc/doxygen-doc/html/a00030_source.html
	doc/doxygen-doc/html/a00031_source.html
	doc/doxygen-doc/html/a00033_source.html
	doc/doxygen-doc/html/a00034_source.html
	doc/doxygen-doc/html/a00035_source.html
	doc/doxygen-doc/html/a00036_source.html
	doc/doxygen-doc/html/a00037_source.html
	doc/doxygen-doc/html/a00038.html
	doc/doxygen-doc/html/a00039.html
	doc/doxygen-doc/html/a00040.html
	doc/doxygen-doc/html/a00041.html
	doc/doxygen-doc/html/a00042.html
	doc/doxygen-doc/html/a00043.html
	doc/doxygen-doc/html/a00044.html
	doc/doxygen-doc/html/a00045.html
	doc/doxygen-doc/html/a00046.html
	doc/doxygen-doc/html/a00047.html
	doc/doxygen-doc/html/a00048.html
	doc/doxygen-doc/html/a00049.html
	doc/doxygen-doc/html/a00050.html
	doc/doxygen-doc/html/a00051.html
	doc/doxygen-doc/html/a00052.html
	doc/doxygen-doc/html/a00053.html
	doc/doxygen-doc/html/a00054.html
	doc/doxygen-doc/html/a00055.html
	doc/doxygen-doc/html/a00056.html
	doc/doxygen-doc/html/a00057.html
	doc/doxygen-doc/html/a00058.html
	doc/doxygen-doc/html/a00059.html
	doc/doxygen-doc/html/a00060.html
	doc/doxygen-doc/html/a00061.html
	doc/doxygen-doc/html/a00062.html
	doc/doxygen-doc/html/a00063.html
	doc/doxygen-doc/html/a00064.html
	doc/doxygen-doc/html/a00065.html
	doc/doxygen-doc/html/a00066.html
	doc/doxygen-doc/html/a00067.html
	doc/doxygen-doc/html/a00068.html
	doc/doxygen-doc/html/a00069.html
	doc/doxygen-doc/html/a00070.html
	doc/doxygen-doc/html/a00071.html
	doc/doxygen-doc/html/a00072.html
	doc/doxygen-doc/html/a00073.html
	doc/doxygen-doc/html/a00074.html
	doc/doxygen-doc/html/annotated.html
	doc/doxygen-doc/html/classes.html
	doc/doxygen-doc/html/files.html
	doc/doxygen-doc/html/functions.html
	doc/doxygen-doc/html/functions_vars.html
	doc/doxygen-doc/html/index.html
	doc/doxygen-doc/html/modules.html
	doc/doxygen-doc/html/pages.html
	doc/doxygen-doc/hwloc-a4.pdf
	doc/doxygen-doc/hwloc-letter.pdf
	doc/doxygen-doc/latex/a00031_source.tex
	doc/doxygen-doc/latex/a4-refman.log
	doc/doxygen-doc/latex/a4-refman.tex
	doc/doxygen-doc/latex/diagram.pdf
	doc/doxygen-doc/latex/doxygen.sty
	doc/doxygen-doc/latex/letter-refman.tex
	doc/doxygen-doc/latex/refman.tex
	doc/doxygen-doc/man/man3/hwloc_distances_s.3
	doc/doxygen-doc/man/man3/hwloc_obj.3
	doc/doxygen-doc/man/man3/hwloc_obj_attr_u.3
	doc/doxygen-doc/man/man3/hwloc_obj_attr_u_hwloc_bridge_attr_s.3
	doc/doxygen-doc/man/man3/hwloc_obj_attr_u_hwloc_cache_attr_s.3
	doc/doxygen-doc/man/man3/hwloc_obj_attr_u_hwloc_group_attr_s.3
	doc/doxygen-doc/man/man3/hwloc_obj_attr_u_hwloc_osdev_attr_s.3
	doc/doxygen-doc/man/man3/hwloc_obj_attr_u_hwloc_pcidev_attr_s.3
	doc/doxygen-doc/man/man3/hwloc_obj_info_s.3
	doc/doxygen-doc/man/man3/hwloc_obj_memory_s.3
	doc/doxygen-doc/man/man3/hwloc_obj_memory_s_hwloc_obj_memory_page_type_s.3
	doc/doxygen-doc/man/man3/hwloc_topology_cpubind_support.3
	doc/doxygen-doc/man/man3/hwloc_topology_discovery_support.3
	doc/doxygen-doc/man/man3/hwloc_topology_membind_support.3
	doc/doxygen-doc/man/man3/hwloc_topology_support.3
	doc/doxygen-doc/man/man3/hwlocality_advanced_io.3
	doc/doxygen-doc/man/man3/hwlocality_api_version.3
	doc/doxygen-doc/man/man3/hwlocality_bitmap.3
	doc/doxygen-doc/man/man3/hwlocality_configuration.3
	doc/doxygen-doc/man/man3/hwlocality_conversion.3
	doc/doxygen-doc/man/man3/hwlocality_cpubinding.3
	doc/doxygen-doc/man/man3/hwlocality_creation.3
	doc/doxygen-doc/man/man3/hwlocality_cuda.3
	doc/doxygen-doc/man/man3/hwlocality_cudart.3
	doc/doxygen-doc/man/man3/hwlocality_custom.3
	doc/doxygen-doc/man/man3/hwlocality_distances.3
	doc/doxygen-doc/man/man3/hwlocality_glibc_sched.3
	doc/doxygen-doc/man/man3/hwlocality_helper_binding.3
	doc/doxygen-doc/man/man3/hwlocality_helper_cpuset.3
	doc/doxygen-doc/man/man3/hwlocality_helper_find_cache.3
	doc/doxygen-doc/man/man3/hwlocality_helper_find_covering.3
	doc/doxygen-doc/man/man3/hwlocality_helper_find_coverings.3
	doc/doxygen-doc/man/man3/hwlocality_helper_find_inside.3
	doc/doxygen-doc/man/man3/hwlocality_helper_nodeset.3
	doc/doxygen-doc/man/man3/hwlocality_helper_nodeset_convert.3
	doc/doxygen-doc/man/man3/hwlocality_helper_traversal.3
	doc/doxygen-doc/man/man3/hwlocality_helper_traversal_basic.3
	doc/doxygen-doc/man/man3/hwlocality_helper_types.3
	doc/doxygen-doc/man/man3/hwlocality_information.3
	doc/doxygen-doc/man/man3/hwlocality_linux.3
	doc/doxygen-doc/man/man3/hwlocality_linux_libnuma_bitmask.3
	doc/doxygen-doc/man/man3/hwlocality_linux_libnuma_nodemask.3
	doc/doxygen-doc/man/man3/hwlocality_linux_libnuma_ulongs.3
	doc/doxygen-doc/man/man3/hwlocality_membinding.3
	doc/doxygen-doc/man/man3/hwlocality_myriexpress.3
	doc/doxygen-doc/man/man3/hwlocality_objects.3
	doc/doxygen-doc/man/man3/hwlocality_openfabrics.3
	doc/doxygen-doc/man/man3/hwlocality_sets.3
	doc/doxygen-doc/man/man3/hwlocality_tinker.3
	doc/doxygen-doc/man/man3/hwlocality_topology.3
	doc/doxygen-doc/man/man3/hwlocality_traversal.3
	doc/doxygen-doc/man/man3/hwlocality_types.3