Mark gettext functions used as translator attributes

Addresses https://github.com/Yelp/yelp_cheetah/issues/162

Included some acceptance test. Someone more familiar with the organization of this test suite should be able to confirm if this was indeed the right place to have this test.

cc @asottile @bukzor 
This covers all cases. I added a test coverage to validate such cases.

The callable (where NameMapper should use autocalling) is always located the 2nd tuple in the list.

This is how nameChunks (or the list of subcomponents are organized). 

e.g. if the raw Cheetah Var is: `$a.b.c[1].d().x.y.z`

[ 
  ('a.b.c',True,'[1]'), # A
  ('d',False,'()'),     # B
  ('x.y.z',True,''),    # C
]

A = the dotted name base 
B = callable
C = reminder of the expression