Second beta version of SIP 16: Self-cleaning macros

Conflicts:

	lib/scala-compiler.jar.desired.sha1
	lib/scala-library.jar.desired.sha1
	src/compiler/scala/reflect/internal/Definitions.scala
	src/compiler/scala/reflect/internal/StdNames.scala
	src/compiler/scala/reflect/internal/SymbolTable.scala
	src/compiler/scala/reflect/internal/Symbols.scala
	src/compiler/scala/reflect/makro/runtime/Context.scala
	src/compiler/scala/reflect/makro/runtime/Reifiers.scala
	src/compiler/scala/reflect/makro/runtime/Reporters.scala
	src/compiler/scala/reflect/makro/runtime/Typers.scala
	src/compiler/scala/reflect/reify/Errors.scala
	src/compiler/scala/reflect/reify/NodePrinters.scala
	src/compiler/scala/reflect/reify/Phases.scala
	src/compiler/scala/reflect/reify/Reifiers.scala
	src/compiler/scala/reflect/reify/codegen/Names.scala
	src/compiler/scala/reflect/reify/codegen/Positions.scala
	src/compiler/scala/reflect/reify/codegen/Symbols.scala
	src/compiler/scala/reflect/reify/codegen/Trees.scala
	src/compiler/scala/reflect/reify/codegen/Types.scala
	src/compiler/scala/reflect/reify/codegen/Util.scala
	src/compiler/scala/reflect/reify/package.scala
	src/compiler/scala/reflect/reify/phases/Calculate.scala
	src/compiler/scala/reflect/reify/phases/Metalevels.scala
	src/compiler/scala/reflect/reify/phases/Reify.scala
	src/compiler/scala/reflect/reify/phases/Reshape.scala
	src/compiler/scala/reflect/runtime/ToolBoxes.scala
	src/compiler/scala/tools/nsc/Global.scala
	src/compiler/scala/tools/nsc/ReflectGlobal.scala
	src/compiler/scala/tools/nsc/ToolBoxes.scala
	src/compiler/scala/tools/nsc/settings/ScalaSettings.scala
	src/compiler/scala/tools/nsc/typechecker/Implicits.scala
	src/compiler/scala/tools/nsc/typechecker/Macros.scala
	src/compiler/scala/tools/nsc/typechecker/Typers.scala
	src/library/scala/reflect/api/StandardNames.scala
	src/library/scala/reflect/api/ToolBoxes.scala
	src/library/scala/reflect/api/Trees.scala
	src/library/scala/reflect/api/Universe.scala
	src/library/scala/reflect/makro/Context.scala
	src/library/scala/reflect/makro/Reifiers.scala
	src/library/scala/reflect/makro/Reporters.scala
	src/library/scala/reflect/makro/Typers.scala
	test/files/neg/macro-reify-groundtypetag-hktypeparams-notags.check
	test/files/neg/macro-reify-groundtypetag-typeparams-notags.check
	test/files/neg/macro-reify-groundtypetag-usetypetag.check
	test/files/neg/reify_ann2a.check
	test/files/neg/reify_ann2b.check
	test/files/neg/reify_ann2b.scala
	test/files/neg/t5334_1.check
	test/files/neg/t5334_1.scala
	test/files/neg/t5334_2.check
	test/files/neg/t5334_2.scala
	test/files/run/macro-abort-fresh.check
	test/files/run/macro-abort-fresh.flags
	test/files/run/macro-abort-fresh/Test_2.scala
	test/files/run/macro-declared-in-anonymous.check
	test/files/run/macro-declared-in-block.check
	test/files/run/macro-declared-in-class-class.check
	test/files/run/macro-declared-in-class-object.check
	test/files/run/macro-declared-in-class.check
	test/files/run/macro-declared-in-default-param.check
	test/files/run/macro-declared-in-implicit-class.check
	test/files/run/macro-declared-in-method.check
	test/files/run/macro-declared-in-object-class.check
	test/files/run/macro-declared-in-object-object.check
	test/files/run/macro-declared-in-object.check
	test/files/run/macro-declared-in-package-object.check
	test/files/run/macro-declared-in-refinement.check
	test/files/run/macro-declared-in-trait.check
	test/files/run/macro-def-infer-return-type-b.check
	test/files/run/macro-def-infer-return-type-b/Test_2.scala
	test/files/run/macro-expand-nullary-generic.flags
	test/files/run/macro-expand-nullary-nongeneric.flags
	test/files/run/macro-expand-nullary.flags
	test/files/run/macro-expand-overload.check
	test/files/run/macro-expand-override.check
	test/files/run/macro-expand-varargs-explicit-over-nonvarargs-bad/Macros_Test_2.scala
	test/files/run/macro-impl-default-params.check
	test/files/run/macro-invalidret-doesnt-conform-to-def-rettype/Test_2.scala
	test/files/run/macro-invalidret-nontypeable/Test_2.scala
	test/files/run/macro-invalidusage-badret/Test_2.scala
	test/files/run/macro-invalidusage-partialapplication/Test_2.scala
	test/files/run/macro-reflective-ma-normal-mdmi/Test_2.scala
	test/files/run/macro-reflective-mamd-normal-mi/Macros_Test_2.scala
	test/files/run/macro-reify-eval-outside-reify/Test_2.scala
	test/files/run/macro-reify-freevars.check
	test/files/run/macro-reify-freevars/Test_2.scala
	test/files/run/macro-reify-ref-to-packageless.flags
	test/files/run/macro-reify-tagful-a.flags
	test/files/run/macro-reify-tagful.flags
	test/files/run/macro-reify-tagless-a.check
	test/files/run/macro-reify-tagless-a/Test_2.scala
	test/files/run/macro-reify-tagless.flags
	test/files/run/macro-reify-value-outside-reify/Test_2.scala
	test/files/run/reify_ann1a.scala
	test/files/run/reify_ann1b.scala
	test/files/run/reify_ann2a.scala
	test/files/run/reify_anonymous.scala
	test/files/run/reify_classfileann_a.scala
	test/files/run/reify_classfileann_b.scala
	test/files/run/reify_closure1.scala
	test/files/run/reify_closure2a.scala
	test/files/run/reify_closure3a.scala
	test/files/run/reify_closure4a.scala
	test/files/run/reify_closure5a.scala
	test/files/run/reify_closure6.scala
	test/files/run/reify_closure7.scala
	test/files/run/reify_closure8a.scala
	test/files/run/reify_closures10.scala
	test/files/run/reify_complex.scala
	test/files/run/reify_extendbuiltins.scala
	test/files/run/reify_for1.scala
	test/files/run/reify_fors.scala
	test/files/run/reify_generic.scala
	test/files/run/reify_generic2.scala
	test/files/run/reify_getter.scala
	test/files/run/reify_implicits.scala
	test/files/run/reify_inheritance.scala
	test/files/run/reify_inner1.scala
	test/files/run/reify_inner2.scala
	test/files/run/reify_inner3.scala
	test/files/run/reify_inner4.scala
	test/files/run/reify_maps.scala
	test/files/run/reify_metalevel_breach_+0_refers_to_1.scala
	test/files/run/reify_metalevel_breach_-1_refers_to_0_a.scala
	test/files/run/reify_metalevel_breach_-1_refers_to_0_b.scala
	test/files/run/reify_metalevel_breach_-1_refers_to_1.scala
	test/files/run/reify_nested_inner_refers_to_global.scala
	test/files/run/reify_nested_inner_refers_to_local.scala
	test/files/run/reify_nested_outer_refers_to_global.check
	test/files/run/reify_nested_outer_refers_to_global.scala
	test/files/run/reify_nested_outer_refers_to_local.check
	test/files/run/reify_nested_outer_refers_to_local.scala
	test/files/run/reify_sort.scala
	test/files/run/reify_sort1.scala
	test/files/run/reify_this.scala
	test/files/run/reify_timeofday.scala
	test/files/run/reify_typerefs_1a.scala
	test/files/run/reify_typerefs_1b.scala
	test/files/run/reify_typerefs_2a.scala
	test/files/run/reify_typerefs_2b.scala
	test/files/run/reify_typerefs_3a.scala
	test/files/run/reify_typerefs_3b.scala
	test/files/run/reify_varargs.scala
	test/files/run/t5229_1.scala
	test/files/run/t5229_2.scala
	test/files/run/t5230.scala
	test/files/run/t5258a.scala
	test/files/run/t5266_1.scala
	test/files/run/t5266_2.scala
	test/files/run/t5269.scala
	test/files/run/t5270.scala
	test/files/run/t5271_4.scala
	test/files/run/t5272_1.scala
	test/files/run/t5272_2.scala
	test/files/run/t5273_1.scala
	test/files/run/t5273_2a.scala
	test/files/run/t5273_2b.scala
	test/files/run/t5274_1.scala
	test/files/run/t5274_2.scala
	test/files/run/t5275.scala
	test/files/run/t5276_1a.scala
	test/files/run/t5276_1b.scala
	test/files/run/t5276_2a.scala
	test/files/run/t5276_2b.scala
	test/files/run/t5277_1.scala
	test/files/run/t5277_2.scala
	test/files/run/t5279.scala
	test/files/run/t5334_1.scala
	test/files/run/t5334_2.scala
	test/files/run/t5335.scala
	test/files/run/t5415.scala
	test/pending/run/reify_addressbook.scala
	test/pending/run/reify_brainf_ck.scala
	test/pending/run/reify_callccinterpreter.scala
	test/pending/run/reify_closure2b.scala
	test/pending/run/reify_closure3b.scala
	test/pending/run/reify_closure4b.scala
	test/pending/run/reify_closure5b.scala
	test/pending/run/reify_closure8b.scala
	test/pending/run/reify_closure9a.scala
	test/pending/run/reify_closure9b.scala
	test/pending/run/reify_closures11.scala
	test/pending/run/reify_csv.scala
	test/pending/run/reify_gadts.scala
	test/pending/run/reify_lazyevaluation.scala
	test/pending/run/reify_properties.scala
	test/pending/run/reify_simpleinterpreter.scala
	test/pending/run/t5258b.scala
	test/pending/run/t5258c.scala
	test/pending/run/t5271_1.scala
	test/pending/run/t5271_2.scala
	test/pending/run/t5271_3.scala
	test/pending/run/t5418.scala