Add CPython subprocess + tests
subprocess: Rename exception variables

This avoids name clashes.
test_subprocess: Remove class decorators
Add minimal 'resource' stubs
Add minimal _subprocess stubs
subprocess: Remove conditionally defined class
Add WindowsError to builtins stubs
Add int and str to default test stubs
Add conditional function def test case
Refactor first pass of semantic analyzer
Fix scope of conditionally defined function

Fix #131.
Support multiple conditional function definitions

This implements only top-level functions.
Fix type sameness testing of callable types

Also compare argument names and kinds.
Check that conditional func defs are compatible

The signatures must be identical.
Add conditional method test case
Add conditional method test case
Add conditional method test case
Refactor block depth accounting
Refactor semantic analysis
Support multiple conditional method definitions