Modernize the_platinum_search

# Modernize the_platinum_search.

the_platinum_searcher is my first golang product.
I am making a few product in golang, and I knew `modern` golang.

## Separate binary by using cmd directory.

The `main` package's work is only calling other package.
This approach makes usable as a library.

refs: https://github.com/monochromegane/the_platinum_searcher/pull/43

## Do not use `self` for receiver variables name.

The receiver is not immutable.
So, the `self` is not good name.
In the golang standard library, first word of the receiver type is used.

refs: http://stackoverflow.com/questions/23482068/in-go-is-naming-the-receiver-variable-self-misleading-or-good-practise

## Do not use subpackages too much.

Many subpackages became difficult to manage.
So, I use two package in my project, these are `main` and `something`.
If I feel `something` is too large, I separate package instead of create subpackage.

refs: https://medium.com/@benbjohnson/structuring-applications-in-go-3b04be4ff091

## Provide binary from wercker.com

I used to provide binary from drone.io.
It works fine, but the service can only put latest binary.
So, I provide by using wercker.com and github release.

---

This PR is my work in this week.
If you have advice for this, please comment :smile: