Saving log files from Galaxy setup and ability to checkout Galaxy at a specific mercurial revision

Hello John,

I was playing around with the code to attempt to add the ability to keep around some of the log files when setting up Galaxy (for debugging) as well as adding the ability to setup Galaxy with a specific revision number from mercurial.

For log files, these will be stored within the **bootstrap-log/** directory under the Galaxy install directory.  For example:

```bash
$ ls /tmp/gxbootstrap4186777579516418253/bootstrap-log/
create_db.log  fetch_eggs.log  seed.log
$ cat /tmp/gxbootstrap4186777579516418253/bootstrap-log/fetch_eggs.log
Fetched http://eggs.galaxyproject.org/Mako/Mako-0.4.1-py2.7.egg
Fetched http://eggs.galaxyproject.org/pysam/pysam-0.4.2_kanwei_b10f6e722e9a-py2.7-linux-x86_64-ucs4.egg
...
```

For specifying the specific revision number from mercurial, this can be done in the **DownloadProperties** class.  For example:

```java
DownloadProperties.forStableAtRevision("26f58e05aa1068761660681583821e21e6cbf7ab");
```

Where the revision number corresponds to one of the mercurial revision hashes.

I also added a few more tests and methods for printing extra information about the Galaxy instance constructed.  Feel free to not accept these changes or make comments if something I changed won't work with your code.  Hopefully you find these useful.

Aaron