SI-6240 Synchronizes Names

Previously we didn't have all possible name creation facilities covered
with locks, so some of them silently misbehaved and caused much grief:
http://groups.google.com/group/scala-internals/browse_thread/thread/ec1d3e2c4bcb000a.

This patch gets all the name factories under control.

Rather than relying on subclasses to override mutating methods
and add synchronization, they should instead override `synchronizeNames`
to return true and leave the placement of the locks up to
`reflect.internal.Names`.

These locks are placed around sections that mutate `typeHashtable`
and `termHashtable`.

This is done in the reflection universe, and in the interactive
compiler. The latter change will obviate an incomplete attempt
do to the same in `ScalaPresentationCompiler` in the scala-ide
project.
update typesafe.artifactory-online.com to private-repo
Paring back the scope of our shared .gitignore

Importantly, limit the exclusion of build.properties
to the file in the root directory, paving the way for
the return of an SBT build.

  - Unignores .bak, .jar, and ~
  - limit ignorance of qbin to the root directory

.log files, generated by partest, are still ignored.

To see ignored files in your workspace, try:

    git ls-files --others --ignored --exclude-standard -- test | grep log
    git status --ignored -- test
Merge pull request #2890 from retronym/topic/one-mans-bliss

Paring back the scope of our shared .gitignore
Merge pull request #2861 from densh/topic/deprecate-early-type-defs

Deprecate early type defs
Merge pull request #2880 from huitseeker/update-artifactory

update typesafe.artifactory-online.com to private-repo.typesafe.com
Lock down methods in Names

Marking some methods as final. Once known to be overriden
in scala-ide are instead marked with @deprecatedOveriding.

This is to signal the new means of synchronization to
subclasses.
Merge pull request #2864 from retronym/ticket/6240-names

SI-6240 Synchronizes Names
add missing copyTypeDef utility function
rename mkAnnotationCtor into mkAnnotation
merge flagsFromBits and FlagsAsBits into FlagsRepr
use NoMods and NoFlags for reification of empty values
move mkNew from tools.nsc.ast.TreeGen to reflect.internal.TreeGen

This is needed for quasiquotes to implement SyntacticNew combinator.
minor changes to TreeGen.mkTemplate

1. Make superPos parameter optional with default value NoPosition
2. use Option instead of List for local optional constructor variable
reduce amount of clutter on -Yquasiquote-debug
add support for refineStat splicing and extraction
refine block and applied/typeapplied splicing/matching semantics

1. blocks now match single term-level expressions to account for
   automatic block elimination. E.g.

   val q"{ ..$stats }" = q"foo"

   will match into stats = List(q"foo"). This is useful to uniformly
   deal with blocks on term level.

2. blocks in quasiquotes collapse into single expressions

3. Applied and TypeApplied now have constructors too which helps
   to unify matching and extraction in quasiquote reifier

4. TypeApplied now matches AppliedTypeTree too

5. Add Syntactic prefix to Applied and TypeApplied
first-class early def splicing and extraction support
add support for function type splicing and scaladot finer grained reification
syntactic valdef, vardef, defdef, tuple, tuple type