Resolves all but 3 of compile-time failures.
Removed assertion that the PRIM_INIT clause in preFold is never reached.
Fix a few bugs with PRIM_TYPE_INIT.

resolveCall() must apply default generic type resolution to the PRIM_TYPE_INIT primitive.

CallExpr::prettyPrint() had to be updated to recognize PRIM_TYPE_INIT as an "unusual"
case.
Merge branch 'master' into addPrimTypeInit

Conflicts:
	compiler/passes/scopeResolve.cpp
Getting rid of qio_channel_filelength and instead adding qio_channel_get_channel_size
Switching to use qio_channel_get_offset_unlocked and qio_channel_get_end_offset_unlocked
Strengthened CallExpr::verify() and used this in PRIM_TYPE_INIT case in removeRandomPrimitive().

In CallExpr::verify(), added a clause to ensure that every CallExpr has a valid
parentExpr.  Also added a test specific to PRIM_TYPE_INIT, that that parentExpr is a
CallExpr.  Both of these added clauses pass a full --verify test run.

Added comments in the clause for PRIM_TYPE_INIT in removeRandomPrimitive(), saying that we
don't have to test either of these invariants (call->parentExpr != NULL &&
toCallExpr(call->parentExpr) != NULL), because CallExpr::verify() does it for us.

There is a general caveat on this assumption, since verify only operates between passes.
If the current pass violates the invariant, one or both assumptions may fail.  A good
debug technique for this would be to run verify() on the suspect AST node.
Added DIRNAME.skipif for some test dirs with custom 'sub_test'.
Merge pull request #87 from vasslitvinov/dir.skipifs-for-C-tests

Added DIRNAME.skipif for some test dirs with custom 'sub_test'.

The following directories:

  test/compflags/ferguson
  test/users/ferguson/bswap
  test/users/ferguson/sys/getenv
  test/regexp/ferguson/ctests
  test/io/ferguson/utf8cols
  test/io/ferguson/ctests
  test/functions/ferguson

(a) use custom 'sub_test', and
(b) need testing only under one configuration.

Since these 'sub_test' do not perform skipif checks, they were getting
tested under all configurations every night, which is excessive and
on occasion has created noise in our nightly emails.

So I am adding DIRNAME.skipif so for each DIRNAME in the above,
aiming at having those dirs be tested for the standard configuration only.
If there are other configurations that should be ruled out,
these skipifs should be extended.

As of this commit, the seven .skipif files are identical.
Merge pull request #84 from tzakian/readstring_fix

Fixing channel.readstring
This future was solved by my _defaultOf language feature, I believe due to the
change in the scopeResolve pass which caused ref variable fields to no longer be
default initialized, since the field will be assigned to at a later point.
Merge pull request #88 from lydia-duncan/fixFutureTest

Remove .future on passing future test

This future was solved by my _defaultOf language feature, I believe due to the change in the scopeResolve pass which caused ref variable fields to no longer be default initialized, since the field will be assigned to at a later point.
Merge pull request #82 from hildeth/addPrimTypeInit

Add PRIM_TYPE_INIT and use this to define the default type constructor.

This pull request is in support of calling user default constructors.

The mechanism for calling user default constructors adds many more constructor calls, and in some cases the default type constructor called the default constructor (through PRIM_INIT) recursively. I broke the loop in this recursion by observing that the type of the result of the call to the default type constructor is already known at the place where PRIM_INIT appeared.

PRIM_TYPE_INIT is implemented identically with PRIM_INIT, except it provides the compiler with the info that only the type of the result is important. Therefore, in resolving an expression containing PRIM_TYPE_INIT, the resolution tree is pruned and only the type of the result (the LHS of the containing MOVE expression) is updated.

Due to PR#67 (adding the _defaultOf() function to provide a standard interface for the creation of default values) courtesy of @lydia-duncan, this new primitive may ultimately prove to be unnecessary. But for now, this pull request will bring chapel-lang:master closer to my hildeth:callDefaultConstructors branch, which will make the initial merge easier. Following the merge, if this primitive proves to be unnecessary, it will be removed.