Avoid intermittent "cannot create classes.bak" SBT error.
Avoid intermittent "cannot create classes.bak" SBT error.

Our subprojects were sharing the `incOptions` value from the root
project, which includes the class backup directory derived from
the root project's `crossTarget` setting.

Instead, we should share the code to modify the `incOptions`.

Before:

```
sbt:root> show library/incOptions
[info] IncOptions(transitiveStep: 3, recompileAllFraction: 0.5, relationsDebug: false, apiDebug: false, apiDiffContextSize: 5, apiDumpDirectory: Optional.empty, classfileManagerType: Optional[TransactionalManagerType(backupDirectory: /Users/jz/code/scala/target/scala-2.13.0-M5/classes.bak, logger: sbt.util.Logger$$anon$2@c7ba58d)], useCustomizedFileManager: false, recompileOnMacroDef: Optional[false], useOptimizedSealed: false, storeApis: true, enabled: true, extra: {}, logRecompileOnMacro: true, externalHooks: xsbti.compile.DefaultExternalHooks@2d579733, ignoredScalacOptions: [Ljava.lang.String;@282c2bbd)
```

After:
```
sbt:root> show library/incOptions
[info] IncOptions(transitiveStep: 3, recompileAllFraction: 0.5, relationsDebug: false, apiDebug: false, apiDiffContextSize: 5, apiDumpDirectory: Optional.empty, classfileManagerType: Optional[TransactionalManagerType(backupDirectory: /Users/jz/code/scala/target/library/classes.bak, logger: sbt.util.Logger$$anon$2@c7ba58d)], useCustomizedFileManager: false, recompileOnMacroDef: Optional[false], useOptimizedSealed: false, storeApis: true, enabled: true, extra: {}, logRecompileOnMacro: true, externalHooks: xsbti.compile.DefaultExternalHooks@5e425ceb, ignoredScalacOptions: [Ljava.lang.String;@26af3265)
```

(cherry picked from commit 4d38c7d6367ea83d23ea07ced42b241700321991)

lrytz/scala,scala/scala,scala/scala,scala/scala,scala/scala,lrytz/scala,lrytz/scala,lrytz/scala,scala/scala,lrytz/scala,lrytz/scala,scala/scala