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.