Runs make clean before installing an extension.

I've implemented #382. The major points of this PR is the following:

* Run `make clean` before executing `configure` in `ExtensionInstaller` class.
* Add `Buildable` interface to handle the difference between `Build` class and `Extension` class.
* Add wrapper methods that invoke `make install` or `make clean` to `MakeTask` class.
* Replace `CleanTask` and `MakeCleanTask` with `MakeTask`.
* Remove the unreachable code from `InstallCommand` class.
* Use `MakeTask` class in `ExtensionManager` class.
* Add some new tests.
* Add `ExtensionTestHelper` class to use the same extension directory in Extension test cases.
I'm not sure which one do we use, method call or property? method call would be better if we can use it.