Zanata spa

New endpoint for zanata-spa
- /locales 
    - list of locales enabled in zanata
- /projects/p/{projectSlug}/iterations/i/{versionSlug}/locales 
    - locales enabled in version
- /projects/p/{projectSlug}/iterations/i/{versionSlug}/r/{docId}/states/{localeId} 
    - list of {id, resId, states}
- /stats/proj/{projectSlug}/iter/{versionSlug}/doc/{encodedDocId*}/locale/{localeId} 
    - statistic
- /user
    - get user's information for the current authenticated user, equivalent to /user/{username} with the current user's username.
- /user/{username}

source and translation
GET
- source?ids={list-of-ids}
- trans/{localeId}?ids={list-of-ids}
- source+trans/{localeId}?ids={list-of-ids}

PUT 
- /trans/{localeId}
Lets prefer composition over inheritance. You could have this class implement `Map<String, TextFlowTarget>` and have an internal `HashMap` holding the elements.
As it is right now, you could potentially add any type of element to that map.