s/lang/locale

 * Deprecated moment.lang(), moment.langData(), moment#lang, and
 duration#lang

 * Added moment.locale(), moment.localeData(), moment#localeData, and
 druation#localeData

 * Added moment.defineLocale() that defines a locale but doesn't set it
 as the global locale (#1750)

 * Removed the hack in the language concatenator that set the language
 to English.

 * Refactored internal code to use moment#localeData instead of local
 functions, and set the language directly on the moment instance at
 creation.

 * Moved all the files and changed the build scripts so that everything
 lives is named "locale" instead of "lang", e.g. the locale files under
 the "locale" directory.

 * I did *not* include build-generated changes like component.json and
 the concated locale files, but I did inspect them to see that they look
 right. But I did remove the old ones wherever they won't be named correctly in the future.
Looks like this should actually return `localeData()` to be keep the old API, so I need to fix that. The new one, where `moment().locale()` just returns the name, but `moment().localeData()` returns the Locale instances, is more consistent with the behavior of the library-level functions, so this is just a matter of changing what the deprecation does.