Rework the way latest template is selected

Current problem: `#latest_template` indiscriminately selects a template matching any given string. This effectively nullifies the use of `-n` flag; if we have images `travis-ruby-*` and `travis-update-ruby-*`, we cannot predict which one we will get.

Here, we

1. rename `#latest_template` to `#latest_template_matching` to make intentions clear
2. introduce #latest_released_template so that the absence of prefix (added when `-n` is used to create the template) signifies the 'release' status
3. tweak the `boot` Thor task so that `-n` can restrict the template selection as intended; `thor travis:images:boot ruby -n update -a pro` will boot the latest image with the name which starts with `travis-update-ruby` in the 'pro' account.
Also, `.sort { |a, b| b['created'] <=> a['created'] }` could also be written `.sort_by { |t| t['created'] }.reverse!`, which I think is a bit clearer in what it does.

Also, `find` is faster than `select{}.first` (benchmark [here](https://gist.github.com/henrikhodne/c11f7beec2a6c6b88eee)), so I'd suggest this:

``` Ruby
def latest_template_matching(regexp)
  travis_templates
    .sort_by { |t| t['created'] }.reverse! }
    .find { |t| t['description'] =~ Regexp.new(regexp) }
end
```