Improve setup.exe running detection

Before this change, the code that determines whether setup.exe is
running would not detect whether newer versions of Cygwin setups with
filenames setup-x86.exe and setup-x86_64.exe were running.

Also add a negative lookbehind to prevent matching filenames like
some-other-program-setup.exe that are not Cygwin setup.
Support .tar.xz files (LZMA compressed tarballs)

Support for these files didn't land in Python until 3.3.  So, when a
.tar.xz file needs to be opened, call `xz -d` on it first.  Then open
the resulting .tar file with Python's tarfile module, and finally delete
the .tar file when the TarFile object is closed.
Fix tests, `cyg-apt update`, etc.

With the release of 64-bit Cygwin, mirrors changed from having setup.ini
in the root to having /x86/setup.ini and /x86_64/setup.ini.  Now,
cyg-apt will detect the right platform and use the new directory
structure.

Also change the mirror used for testing from cygwin.xl-mirror.nl to
cygwin.uib.no, since xl-mirror doesn't have the x86_64 release.
Make `cyg-apt search` case-insensitive
Update README.md
Update README.md
Update README.md
Added a test for the behaviour for an update without mirror

https://code.google.com/p/cyg-apt/issues/detail?id=18

Reported by rustysco...@gmail.com, Apr 11, 2014

What steps will reproduce the problem?
1. downloag cyg-apt
2. attempt to install cygapt or run cygapt

What is the expected output? What do you see instead?
cygapt should return after setup without a problem but with this current bug, cyg-apt is entirely dysfunctional.
cyg-apt returns the following

python2.7 ./cyg-apt search rxtv
Traceback (most recent call last):
  File "./cyg-apt", line 1581, in <module>
    main()
  File "./cyg-apt", line 1546, in main
    cas.update(main_cyg_apt_rc, main_verify, main_mirror = main_mirror)
  File "./cyg-apt", line 205, in update
    if not mirror[-1] == "/":
IndexError: string index out of range

What version of the product are you using? On what operating system?
1.0.7-1
Fixed the behaviour for an update without mirror
Merge pull request #6 from alquerci/fix/update/without_mirror

Fixed the behaviour for an update without mirror