Tax Calculator using Java 8 and BigDecimal
The rounding doesn't work the way you expect it to work for division. From documentation:


  Returns a BigDecimal whose value is (this / divisor), and whose scale is this.scale().


The product of the salary and the tax rate has two digits after the decimal point. So does the quotient. 
The getTaxRate method is unnecessarily long and complicated. You're trying to find the largest entry in a TreeMap such that is less than the given value. That's exactly what the lower method does. 
Printing something inside the calculateTax method is a bad idea. It makes the code less reusable (what if I want to just calculate the tax without any logging?). And violates the single responsibility principle (it calculates the tax and prints something to standard output).
This kind of comments:

/*
 * scale &gt; the number of digits to the right of the decimal point
 *
 * precision &gt; the number of significant digits
 *
 * BigDecimal instances are immutable
 *
 */


is even worse than useless. It clutters the code with irrelevant information. The documentation for the BigDecimal class belongs to the BigDecimal class, not to a TaxCalculator.

There several other comments in your code that repeat parts of the TreeMap class documentation. They're also gibberish. Removing all these comments will make the code cleaner.
Adding doc comments for your TaxCalculator class and its public is a good idea. They should describe what it represents, what are the pre- and post-conditions of each method (for instance, what happens if I pass a negative salary? In your case, it's garbage in- garbage out. Document that. It's obvious from the method signature itself).
You might want to add proper input validation (for instance, you can throw the exception if the salary is negative). 
You can also use the valueOf static factory method to convert integers to BigDecimal's: to me, BigDecimal.valueOf(100) looks better than new BigDecimal("100"). It can also reuse frequent values.