instancetype in class constructors

Class constructors should return instancetype. Type information is lost when returning id! (the compiler infers instancetype on -init methods: http://nshipster.com/instancetype/)