Arjun: An Efficient Independent Support Computation Technique and its Applications to Counting and Sampling