Improve error for nested render calls

In the future we could consider wrapping the entire public API (renderComponent, setProps, setState, etc) in this check but this should do for now.

Test Plan: grunt test
Guard top-level methods, not in every render call

Test Plan: grunt test
Warn instead of throw for nested render calls
Merge branch 'spicyj-nested-render' from #1402