Squashed commit of the following:

commit 797d2f2c183d11bf6b3b599725bd84a24e359efb
Author: xanxys <xanxys@gmail.com>
Date:   Sat Aug 9 14:20:00 2014 +0900

    Remove windows/non-windows branching.

commit 4a46f0aa26960fa9f69e4eeb8dc1da1e33f808a9
Author: xanxys <xanxys@gmail.com>
Date:   Fri Aug 8 23:23:56 2014 +0900

    Don't overwrite path (instead append) on windows when running test.

commit ced790e5f84058ef1316c9097073b240294fc7c8
Author: xanxys <xanxys@gmail.com>
Date:   Thu Aug 7 00:16:53 2014 +0900

    Shorten cargo --list test code w/ some cool trait.

commit 7f58d68c9a8184621a1a705e7249fda048e729fd
Author: xanxys <xanxys@gmail.com>
Date:   Wed Aug 6 23:31:26 2014 +0900

    Add test for cargo --list.

commit 124aff4cafc098691ae28269b248c919bb57ac0a
Author: xanxys <xanxys@gmail.com>
Date:   Tue Aug 5 00:27:38 2014 +0900

    Tighten check of command-ness.

commit 09d893b06cb40dcef3cfa0f602edf6345b9a8a68
Author: xanxys <xanxys@gmail.com>
Date:   Tue Aug 5 00:16:59 2014 +0900

    Remove duplicated command.

commit 4516af1020ac24af5f152289ebba921a4ffbb65a
Author: xanxys <xanxys@gmail.com>
Date:   Tue Aug 5 00:00:46 2014 +0900

    Improve code style.

commit 11552a256ae102e4f873857cd310bad33669e38a
Author: xanxys <xanxys@gmail.com>
Date:   Mon Aug 4 17:41:27 2014 +0900

    Reduce indent level.

commit 00e3648585da7bb3613bb7d7a92bbbf87b9398ee
Author: xanxys <xanxys@gmail.com>
Date:   Mon Aug 4 16:27:23 2014 +0900

    Add $PATH expansion.

commit 14a107290f3bccaca88966cd081b5bae7e6305f5
Author: xanxys <xanxys@gmail.com>
Date:   Mon Aug 4 16:18:54 2014 +0900

    Add command listing.