We need architecture (ISA) specific versions of the runtime and
the third-party packages built with it.  To this end, include
the $(CHPL_MAKE_TARGET_ARCH) component in the runtime library
path and the build/install path of each third-party runtime
package.
Factor lookup() into two versions: one recurses through module Uses and the other does not.

Pulling apart the two versions allowed significant simplification of the version that does
not recurse through uses.  Further code consolidation is possible, by making the helper
routines return (or merely populate) a vector of symbols and pushing the error-reporting
logic into the driver routine.
Simplify lookup helper by pushing symbol selection into the top-level lookup() routine.

This factors the common decision and error-reporting logic out of the duplicate routines.
Simply gathering up a vector of symbols also simplifies the overall logic.
Error reporting now lists all duplicate symbols before aborting. (TODO: we may need to
provide file/line or other context.)
Fix some coding errors.

* alreadyVisited is now a reference, so use "." member access in place of "->".

* Reworked logic of the
    if (fn & fn->_this)
clause to obtain previous behavior and remove redundant else clause.
Merge from master with edits to scopeResolve.cpp.
Updated comm counts for alloc_all cyclic and replicated
Merge pull request #64 from gbtitus/third-party-targets

include the target architecture in the runtime and runtime-associated third-party build paths
Fix problems in our file timestamp adjustments.

We were still seeing problems with attempts to rebuild things, due to
losing the file timestamp information when we put the untarred sources
into the repository and get them back out.  This change seems (cross
fingers) to solve those problems.

While here, I removed the sleep commands, because I don't think they're
actually needed.
Merge pull request #69 from gbtitus/hwloc-touch

Fix problems in our file timestamp adjustments.
Merge pull request #68 from Kyle-B/cyclic-comm-counts

Updated comm counts for alloc_all - cyclic and replicated
Ignore noinit for the record type regexp, it contains a field which is a c
pointer and assumes it needs to clean up that pointer during assignment when, if
noinit is used, that field would be null and thus not capable of being cleaned
up.
Merge pull request #70 from lydia-duncan/regexFix

Fix tests broken by noinit return temps.
Rework the clause in fix_def_expr() that deals with noInit semantics.

Some of the logic in that clause can be simplified, by
* observing that there is an "if ... else" controlled by (isNoInit).
* observing that this is followed by an "if ... else" controlled by (init).
* copying the second "if ... else" in its entirety at the tail of the "if" and "else"
clauses in the preceding "if ... else" statement.
* observing !isNoInit ==> !init and simplifying accordingly.

Following this, I observed that the variables typeTemp was used only in the outer "else"
clause (isNoInit == false), so I moved its declaration inside that clause.  I also copied
the declaration of initCall closer to its use in each clause.
Merge pull request #71 from hildeth/factorLookup

Factor lookup() and reorganize to expose the algorithm used.
Rename the compiler generated _enum_first function to chpl_enum_first.
Rename _enum_enumerate to chpl_enum_enumerate.
Merge pull request #75 from lydia-duncan/minorRenaming

Renaming _enum_first and _enum_enumerate to chpl_enum_first and chpl_enum_enumerate, respectively.
Merge pull request #72 from hildeth/prettifyNoInitDefs

Rework the clause in fix_def_expr() that deals with noInit semantics.
Merge from master, with edits to normalize.cpp.
A few more "fixes" to tests reading syncs and singles as statement-level variables.

This is a temporary workaround to expose other possible roadblocks.
These changes are to be removed prior to merging with the upstream repo.