Implement multiarch support in catkin

Squashed commit of the following:

commit 0f2d1c77f16822072a898d745a4fb190e0c7ed18
Author: Jose Luis Rivero <jrivero@osrfoundation.org>
Date:   Wed Apr 30 02:36:11 2014 +0200

    Improve the method of detecting multiarch

    Run a two step approach using gcc -print-multiarch and, if failed,
    fallback to use dpkg-architecture.

commit 6039d93ffb75d7e1fc9adfc356eca93e77d739af
Author: Jose Luis Rivero <jrivero@osrfoundation.org>
Date:   Tue Apr 29 19:21:44 2014 +0200

    Fix call to get_multiarch by removing the parameter

commit dcbc8f34adb698d5f4dd35d291126f98a802dc68
Author: Jose Luis Rivero <jrivero@osrfoundation.org>
Date:   Tue Apr 29 19:08:27 2014 +0200

    Replace dpkg-architecture by gcc -print-multiarch.

    Silent the error on cmake if the flag is not present. Checking the
    content of the OUTPUT_VARIABLE for empty should be enough to detect
    errors on multiarch detection.

commit c1c02af04e6f00bb3f18be9ee42dbd06c6d03f96
Author: Steven Peters <scpeters@osrfoundation.org>
Date:   Mon Apr 28 17:07:42 2014 -0700

    Fix test by escaping single quotes

commit ae19d1b00804eb80c88be21cfb962a18f6661261
Author: Steven Peters <scpeters@osrfoundation.org>
Date:   Mon Apr 28 16:20:22 2014 -0700

    Starting to fix broken test

commit 232d56bd995ce17459a7fb8b4d713e1768716402
Author: Steven Peters <scpeters@osrfoundation.org>
Date:   Mon Apr 28 15:55:27 2014 -0700

    Use temporary path variable in loop per @dirk-thomas 's suggestion

commit 324ac938617dabacc9f0f2b54a6aa2f32417b470
Author: Steven Peters <scpeters@osrfoundation.org>
Date:   Mon Apr 28 15:46:22 2014 -0700

    Remove trailing whitespace from dpkg-architecture call

commit 90f56a464926c41d7cd08a6f77b3e7d769117e2e
Author: Steven Peters <scpeters@osrfoundation.org>
Date:   Mon Apr 28 15:41:22 2014 -0700

    Use string with spaces for subprocess command

commit 948eb7db7382441a572a7e38e484da75b6d91cfe
Author: Steven Peters <scpeters@osrfoundation.org>
Date:   Mon Apr 28 15:32:02 2014 -0700

    Fix subprocess invocation per suggestion from @wjwwood

commit e114c9df656a5fd91662ae124573fb30cfdc3f39
Author: Steven Peters <scpeters@osrfoundation.org>
Date:   Mon Apr 28 15:24:38 2014 -0700

    Use CATKIN_GLOBAL_LIB_DESTINATION and os.path.join

commit 6f89efe431491b9627089aee8f68cfae33cf0d4f
Author: Steven Peters <scpeters@osrfoundation.org>
Date:   Mon Apr 28 15:01:52 2014 -0700

    Attempt at multiarch support (#545)

    This is an attempt at multiarch support (#545), supercedes
    (#604). The dpkg-architecture command is used to identify
    an appropriate lib folder suffix to use for LD_LIBRARY_PATH
    and PKG_CONFIG_PATH. builder.py and
    catkin_generate_environment.cmake are modified
    accordingly, though there's still a problem with isolated
    devel spaces.