Add new lint check to ensure that Fragments are instantiatable

Fragments should provide a default constructor, and only a default
constructor, such that they can be recreated by the system on
configuration changes.

This changeset adds a lint check to catch cases where this is not the
case -- such as fragments that are non-static innerclasses, or where
the the class or constructor is not public. It also warns if the
fragment contains any *other* constructors, since the fragment
documentation strongly advises against it.

Change-Id: I8cdd00fd7c74259f84977804e36ace7c43864026
15 files changed