New pattern: diamonds

Both the width and height of the diamonds are dynamic, so you could have short wide ones, symmetrical ones, or tall thin ones.

I also reordered some of the patterns in the case statement to match up with changes I made to the JS version of this code on GitHub Guides.

![screen shot 2014-02-05 at 3 38 49 pm](https://f.cloud.github.com/assets/6104/2091990/670f82ce-8ea6-11e3-9d3b-9377f61b6354.png)

![screen shot 2014-02-05 at 3 40 28 pm](https://f.cloud.github.com/assets/6104/2091991/6a3b2b74-8ea6-11e3-9f55-33c63d8edca2.png)

![screen shot 2014-02-05 at 3 41 05 pm](https://f.cloud.github.com/assets/6104/2091994/6f52141a-8ea6-11e3-8732-2eafd7fdd308.png)