Set up proper environment to build tests and migrations

thanks to futhr, see PR #226 which fixes the rake test_app task
Globalize product model

  * Add globalize3 dependency
  * Include UI to translate product fields
Abstract the translation controller

So we don't need to create a controller for every model that needs to be
globalized
Globalize promotion model
Update Versionfile
Load spree backend / frontend assets

The dummy app only includes the extension manifest file so we need to
load the spree core assets to run features specs properly
Globalize OptionType, Taxonomy and Taxon model

Still need to hack around to make it display the localized taxon
names on the backend tree. So far localized taxons look good on the
frontend
Set locale on spree/api context as well

Otherwise we wouldn't be able to get the translated taxons on the
backend taxons tree
Create a single migration file and update README
Create translatable module

Avoid repeated code and makes way for a more abstract implementation
Create SpreeI18n::Config instance

It separates configs related to this extension from spree/core configs
Set Rails i18n.fallbacks true

I believe this is a safe default for spree_i18n since otherwise users
might see lists with empty names and forms not validating properly as
they should
Use symbols not strings on SpreeI18n::Config options
Translate taxon permalinks

Make locales fallback to each other instead of only to the default.
Othewise the app might breaks trying to call method on nil values
Localize Property model
Use t helper for translations form labels

Also fix form buttons positioning on the forms where there's no side
menu
Add i18n configs to general settings admin UI
Add spree_i18n install generator
Set up a SpreeI18n::Locale class

To list only locales availble on the config/locales dir of this
extension instead of all locales available through
I18n.available_locales
Force dependencies versions